aboutsummaryrefslogtreecommitdiff
path: root/gas/sb.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2012-06-07 12:47:23 +0000
committerAlan Modra <amodra@gmail.com>2012-06-07 12:47:23 +0000
commit39a45edc073226e748566b497c216830cec119c4 (patch)
treebd35d385584a6fcaca5e6a40a9933b33cafe1b2d /gas/sb.h
parentfb1b895daad773efd7dc023f913678e9c80d8c3a (diff)
downloadgdb-39a45edc073226e748566b497c216830cec119c4.zip
gdb-39a45edc073226e748566b497c216830cec119c4.tar.gz
gdb-39a45edc073226e748566b497c216830cec119c4.tar.bz2
PR gas/14201
* sb.h (sb_max_power_two): Delete. (struct sb): Delete "item" and "pot". Make "len" a size_t. Add "max". (sb_element): Delete. (sb_add_char, sb_add_buffer, sb_skip_comma, sb_skip_write): Update prototypes. * sb.c (string_count, free_list): Delete. (sb_build, sb_kill, sb_check): Rewrite. (scrub_from_sb, sb_add_char, sb_add_string, sb_add_buffer, sb_skip_white, sb_skip_comma): Replace assorted int params, vars and return types with size_t. * input-scrub.c: Likewise. * macro.c: Likewise. * macro.h: Likewise. * as.c: Likewise. * as.h: Likewise. * input-file.h: Likewise. * input-file.c: Likewise. * read.c: Likewise. * app.c: ..or ptrdiff_t. * input-file.c (input_file_get): Use ferror. (input_file_give_next_buffer): Use input_file_get.
Diffstat (limited to 'gas/sb.h')
-rw-r--r--gas/sb.h32
1 files changed, 8 insertions, 24 deletions
diff --git a/gas/sb.h b/gas/sb.h
index 4175ddb..cc11ef6 100644
--- a/gas/sb.h
+++ b/gas/sb.h
@@ -1,5 +1,5 @@
/* sb.h - header file for string buffer manipulation routines
- Copyright 1994, 1995, 2000, 2003, 2005, 2006, 2007
+ Copyright 1994, 1995, 2000, 2003, 2005, 2006, 2007, 2012
Free Software Foundation, Inc.
Written by Steve and Judy Chamberlain of Cygnus Support,
@@ -42,43 +42,27 @@
Obstacks provide all the functionality needed, but are too
complicated, hence the sb.
- An sb is allocated by the caller, and is initialized to point to an
- sb_element. sb_elements are kept on a free lists, and used when
- needed, replaced onto the free list when unused. */
-
-#define sb_max_power_two 30 /* Don't allow strings more than
- 2^sb_max_power_two long. */
+ An sb is allocated by the caller. */
typedef struct sb
{
char *ptr; /* Points to the current block. */
- int len; /* How much is used. */
- int pot; /* The maximum length is 1<<pot. */
- struct le *item;
+ size_t len; /* How much is used. */
+ size_t max; /* The maximum length. */
}
sb;
-/* Structure of the free list object of a string block. */
-
-typedef struct le
-{
- struct le *next;
- int size;
- char data[1];
-}
-sb_element;
-
extern void sb_new (sb *);
extern void sb_kill (sb *);
extern void sb_add_sb (sb *, sb *);
extern void sb_scrub_and_add_sb (sb *, sb *);
extern void sb_reset (sb *);
-extern void sb_add_char (sb *, int);
+extern void sb_add_char (sb *, size_t);
extern void sb_add_string (sb *, const char *);
-extern void sb_add_buffer (sb *, const char *, int);
+extern void sb_add_buffer (sb *, const char *, size_t);
extern char *sb_terminate (sb *);
-extern int sb_skip_white (int, sb *);
-extern int sb_skip_comma (int, sb *);
+extern size_t sb_skip_white (size_t, sb *);
+extern size_t sb_skip_comma (size_t, sb *);
/* Actually in input-scrub.c. */
extern void input_scrub_include_sb (sb *, char *, int);