projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update thread_control_state::trap_expected comments
[deliverable/binutils-gdb.git]
/
gas
/
sb.h
diff --git
a/gas/sb.h
b/gas/sb.h
index aec5a516ff621efc7de4419c72431ee8c10989e6..9e50430dea7b1170a7b394ba5c9e2d7ef6d2078a 100644
(file)
--- a/
gas/sb.h
+++ b/
gas/sb.h
@@
-1,5
+1,5
@@
/* sb.h - header file for string buffer manipulation routines
/* sb.h - header file for string buffer manipulation routines
- Copyright
1994, 1995, 2000, 2003
Free Software Foundation, Inc.
+ Copyright
(C) 1994-2020
Free Software Foundation, Inc.
Written by Steve and Judy Chamberlain of Cygnus Support,
sac@cygnus.com
Written by Steve and Judy Chamberlain of Cygnus Support,
sac@cygnus.com
@@
-8,7
+8,7
@@
GAS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
GAS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version
2
, or (at your option)
+ the Free Software Foundation; either version
3
, or (at your option)
any later version.
GAS is distributed in the hope that it will be useful,
any later version.
GAS is distributed in the hope that it will be useful,
@@
-25,10
+25,7
@@
#define SB_H
#define SB_H
-#include <stdio.h>
-#include "ansidecl.h"
-
-/* string blocks
+/* String blocks
I had a couple of choices when deciding upon this data structure.
gas uses null terminated strings for all its internal work. This
I had a couple of choices when deciding upon this data structure.
gas uses null terminated strings for all its internal work. This
@@
-44,47
+41,28
@@
Obstacks provide all the functionality needed, but are too
complicated, hence the sb.
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.
- */
+ An sb is allocated by the caller. */
-#define sb_max_power_two 30 /* don't allow strings more than
- 2^sb_max_power_two long */
-/* structure of an sb */
typedef struct sb
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;
- }
+{
+ char *ptr; /* Points to the current block. */
+ size_t len; /* How much is used. */
+ size_t max; /* The maximum length. */
+}
sb;
sb;
-/* Structure of the free list object of an sb */
-typedef struct le
- {
- struct le *next;
- int size;
- char data[1];
- }
-sb_element;
-
-/* The free list */
-typedef struct
- {
- sb_element *size[sb_max_power_two];
- } sb_list_vector;
-
extern void sb_new (sb *);
extern void sb_new (sb *);
+extern void sb_build (sb *, size_t);
extern void sb_kill (sb *);
extern void sb_add_sb (sb *, 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_reset (sb *);
-extern void sb_add_char (sb *,
in
t);
+extern void sb_add_char (sb *,
size_
t);
extern void sb_add_string (sb *, const char *);
extern void sb_add_string (sb *, const char *);
+extern void sb_add_buffer (sb *, const char *, size_t);
extern char *sb_terminate (sb *);
extern char *sb_terminate (sb *);
-extern
int sb_skip_white (in
t, sb *);
-extern
int sb_skip_comma (in
t, 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);
/* Actually in input-scrub.c. */
extern void input_scrub_include_sb (sb *, char *, int);
This page took
0.023844 seconds
and
4
git commands to generate.