/[global]/global/libutil/strbuf.c
ViewVC logotype

Diff of /global/libutil/strbuf.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.26 by shigio, Tue Oct 4 05:53:53 2005 UTC revision 1.27 by shigio, Tue Oct 4 07:59:04 2005 UTC
# Line 92  STRBUF top; Line 92  STRBUF top;
92   * strbuf_dump: dump string buffers   * strbuf_dump: dump string buffers
93   */   */
94  void  void
95  strbuf_dump(msg)  strbuf_dump(const char *msg)
         const char *msg;  
96  {  {
97          STRBUF *sb;          STRBUF *sb;
98          int i = 0;          int i = 0;
# Line 122  strbuf_dump(msg) Line 121  strbuf_dump(msg)
121   *      i)      length  required room   *      i)      length  required room
122   */   */
123  void  void
124  __strbuf_expandbuf(sb, length)  __strbuf_expandbuf(STRBUF *sb, int length)
         STRBUF *sb;  
         int length;  
125  {  {
126          int count = sb->curp - sb->sbuf;          int count = sb->curp - sb->sbuf;
127          int newsize = sb->sbufsize + (length > EXPANDSIZE ? length : EXPANDSIZE);          int newsize = sb->sbufsize + (length > EXPANDSIZE ? length : EXPANDSIZE);
# Line 152  __strbuf_expandbuf(sb, length) Line 149  __strbuf_expandbuf(sb, length)
149   *      r)      sb      STRBUF structure   *      r)      sb      STRBUF structure
150   */   */
151  STRBUF *  STRBUF *
152  strbuf_open(init)  strbuf_open(int init)
         int init;  
153  {  {
154          STRBUF *sb = (STRBUF *)calloc(sizeof(STRBUF), 1);          STRBUF *sb = (STRBUF *)calloc(sizeof(STRBUF), 1);
155    
# Line 192  strbuf_open(init) Line 188  strbuf_open(init)
188   * For the detail, see 'STATIC_STRBUF(sb)' macro in strbuf.h.   * For the detail, see 'STATIC_STRBUF(sb)' macro in strbuf.h.
189   */   */
190  void  void
191  strbuf_clear(sb)  strbuf_clear(STRBUF *sb)
         STRBUF *sb;  
192  {  {
193          if (sb == NULL)          if (sb == NULL)
194                  die("NULL string buffer. (strbuf_clear)");                  die("NULL string buffer. (strbuf_clear)");
# Line 217  strbuf_clear(sb) Line 212  strbuf_clear(sb)
212   *      i)      len     length of string   *      i)      len     length of string
213   */   */
214  void  void
215  strbuf_nputs(sb, s, len)  strbuf_nputs(STRBUF *sb, const char *s, int len)
         STRBUF *sb;  
         const char *s;  
         int len;  
216  {  {
217          if (!sb->alloc_failed && len > 0) {          if (!sb->alloc_failed && len > 0) {
218                  if (sb->curp + len > sb->endp)                  if (sb->curp + len > sb->endp)
# Line 236  strbuf_nputs(sb, s, len) Line 228  strbuf_nputs(sb, s, len)
228   *      i)      s       string   *      i)      s       string
229   */   */
230  void  void
231  strbuf_puts(sb, s)  strbuf_puts(STRBUF *sb, const char *s)
         STRBUF *sb;  
         const char *s;  
232  {  {
233          if (!sb->alloc_failed) {          if (!sb->alloc_failed) {
234                  while (*s) {                  while (*s) {
# Line 255  strbuf_puts(sb, s) Line 245  strbuf_puts(sb, s)
245   *      i)      s       string   *      i)      s       string
246   */   */
247  void  void
248  strbuf_puts_nl(sb, s)  strbuf_puts_nl(STRBUF *sb, const char *s)
         STRBUF *sb;  
         const char *s;  
249  {  {
250          if (!sb->alloc_failed) {          if (!sb->alloc_failed) {
251                  while (*s) {                  while (*s) {
# Line 277  strbuf_puts_nl(sb, s) Line 265  strbuf_puts_nl(sb, s)
265   *      i)      n       number   *      i)      n       number
266   */   */
267  void  void
268  strbuf_putn(sb, n)  strbuf_putn(STRBUF *sb, int n)
         STRBUF *sb;  
         int n;  
269  {  {
270          if (n == 0) {          if (n == 0) {
271                  strbuf_putc(sb, '0');                  strbuf_putc(sb, '0');
# Line 305  strbuf_putn(sb, n) Line 291  strbuf_putn(sb, n)
291   *      r)              0: do nothing, 1: removed   *      r)              0: do nothing, 1: removed
292   */   */
293  int  int
294  strbuf_unputc(sb, c)  strbuf_unputc(STRBUF *sb, int c)
         STRBUF *sb;  
         int c;  
295  {  {
296          if (sb->curp > sb->sbuf && *(sb->curp - 1) == c) {          if (sb->curp > sb->sbuf && *(sb->curp - 1) == c) {
297                  sb->curp--;                  sb->curp--;
# Line 322  strbuf_unputc(sb, c) Line 306  strbuf_unputc(sb, c)
306   *      r)              string   *      r)              string
307   */   */
308  char *  char *
309  strbuf_value(sb)  strbuf_value(STRBUF *sb)
         STRBUF *sb;  
310  {  {
311          *sb->curp = 0;          *sb->curp = 0;
312          return sb->sbuf;          return sb->sbuf;
# Line 334  strbuf_value(sb) Line 317  strbuf_value(sb)
317   *      i)      sb      STRBUR structure   *      i)      sb      STRBUR structure
318   */   */
319  void  void
320  strbuf_trim(sb)  strbuf_trim(STRBUF *sb)
         STRBUF *sb;  
321  {  {
322          char *p = sb->curp;          char *p = sb->curp;
323    
# Line 358  strbuf_trim(sb) Line 340  strbuf_trim(sb)
340   * include '\r' and '\n'.   * include '\r' and '\n'.
341   */   */
342  char *  char *
343  strbuf_fgets(sb, ip, flags)  strbuf_fgets(STRBUF *sb, FILE *ip, int flags)
         STRBUF *sb;  
         FILE *ip;  
         int flags;  
344  {  {
345          if (!(flags & STRBUF_APPEND))          if (!(flags & STRBUF_APPEND))
346                  strbuf_reset(sb);                  strbuf_reset(sb);
# Line 477  strbuf_sprintf(STRBUF *sb, const char *s Line 456  strbuf_sprintf(STRBUF *sb, const char *s
456   *      i)      sb      STRBUF structure   *      i)      sb      STRBUF structure
457   */   */
458  void  void
459  strbuf_close(sb)  strbuf_close(STRBUF *sb)
         STRBUF  *sb;  
460  {  {
461  #ifdef STRBUF_LINK  #ifdef STRBUF_LINK
462          sb->prev->next = sb->next;          sb->prev->next = sb->next;
# Line 514  strbuf_open_tempbuf(void) Line 492  strbuf_open_tempbuf(void)
492          return sb;          return sb;
493  }  }
494  void  void
495  strbuf_release_tempbuf(sb)  strbuf_release_tempbuf(STRBUF *sb)
         STRBUF *sb;  
496  {  {
497          used = 0;          used = 0;
498  }  }
# Line 527  strbuf_release_tempbuf(sb) Line 504  strbuf_release_tempbuf(sb)
504   *      i)      name    name   *      i)      name    name
505   */   */
506  void  void
507  strbuf_setname(sb, name)  strbuf_setname(STRBUF  *sb, const char *name)
         STRBUF  *sb;  
         const char *name;  
508  {  {
509          char *p = strdup(name);          char *p = strdup(name);
510          if (p == NULL) {          if (p == NULL) {
# Line 548  strbuf_setname(sb, name) Line 523  strbuf_setname(sb, name)
523   *      r)              STRBUF structure   *      r)              STRBUF structure
524   */   */
525  STRBUF *  STRBUF *
526  strbuf_getbuf(name)  strbuf_getbuf(const char *name)
         const char *name;  
527  {  {
528          STRBUF *sb;          STRBUF *sb;
529    

Legend:
Removed from v.1.26  
changed lines
  Added in v.1.27

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26