Update of /cvsroot/dhcp-agent/dhcp-agent
In directory usw-pr-cvs1:/tmp/cvs-serv4164
Modified Files:
dhcp-stringbuffer.h dhcp-stringbuffer.c
Log Message:
more stringbufferage including bug fixes
Index: dhcp-stringbuffer.h
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/dhcp-stringbuffer.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** dhcp-stringbuffer.h 15 Jun 2002 14:59:20 -0000 1.2
--- dhcp-stringbuffer.h 17 Jun 2002 02:24:19 -0000 1.3
***************
*** 43,46 ****
--- 43,49 ----
extern void stringbuffer_aprintf_align(stringbuffer *sb, int begin, int end, char *fmt, ...);
extern void stringbuffer_avprintf(stringbuffer *sb, char *fmt, va_list ap);
+ extern void stringbuffer_append_c(stringbuffer *sb, char c);
+ extern void stringbuffer_clear(stringbuffer *sb);
+ extern void stringbuffer_set(stringbuffer *dest, const char *s);
#endif /* DHCP_STRINGBUFFER_H */
Index: dhcp-stringbuffer.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/dhcp-stringbuffer.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** dhcp-stringbuffer.c 15 Jun 2002 14:59:20 -0000 1.2
--- dhcp-stringbuffer.c 17 Jun 2002 02:24:19 -0000 1.3
***************
*** 123,126 ****
--- 123,146 ----
}
+ void stringbuffer_clear(stringbuffer *sb)
+ {
+ sb->len = 0;
+ sb->buf[sb->len] = 0;
+ }
+
+ /* append character to stringbuffer */
+ void stringbuffer_append_c(stringbuffer *sb, char c)
+ {
+ if(sb->capacity <= (1 + sb->capacity)) {
+ sb->buf = extend_string(sb->buf, sb->len, 1);
+ sb->len++;
+ sb->capacity = sb->len;
+ } else
+ sb->len++;
+
+ sb->buf[sb->len - 1] = c;
+ sb->buf[sb->len] = 0;
+ }
+
/* append string to stringbuffer */
void stringbuffer_append(stringbuffer *sb, const char *s)
***************
*** 128,136 ****
int len = strlen(s);
! if(sb->capacity <= (len + sb->capacity)) {
sb->buf = extend_string(sb->buf, sb->len, len);
sb->len += len;
sb->capacity = sb->len;
! }
strcat(sb->buf, s);
--- 148,157 ----
int len = strlen(s);
! if(sb->capacity <= (len + sb->len)) {
sb->buf = extend_string(sb->buf, sb->len, len);
sb->len += len;
sb->capacity = sb->len;
! } else
! sb->len += len;
strcat(sb->buf, s);
***************
*** 229,239 ****
}
! void stringbuffer_copy(stringbuffer *dest, stringbuffer *src)
{
! destroy_stringbuffer(dest); /* zap */
! dest = create_stringbuffer(); /* make new */
! /* append -- simplicity is grand! :-) */
! stringbuffer_append(dest, stringbuffer_getstring(src));
}
--- 250,262 ----
}
! void stringbuffer_set(stringbuffer *dest, const char *s)
{
! stringbuffer_clear(dest); /* zap */
! stringbuffer_append(dest, s);
! }
! void stringbuffer_copy(stringbuffer *dest, stringbuffer *src)
! {
! stringbuffer_set(dest, stringbuffer_getstring(src));
}
|