diff options
author | Alan Modra <amodra@gmail.com> | 2012-06-07 12:47:23 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2012-06-07 12:47:23 +0000 |
commit | 39a45edc073226e748566b497c216830cec119c4 (patch) | |
tree | bd35d385584a6fcaca5e6a40a9933b33cafe1b2d /gas/sb.h | |
parent | fb1b895daad773efd7dc023f913678e9c80d8c3a (diff) | |
download | gdb-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.h | 32 |
1 files changed, 8 insertions, 24 deletions
@@ -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); |