aboutsummaryrefslogtreecommitdiffhomepage
path: root/util.c
diff options
context:
space:
mode:
authorGravatar axel <axel@liljencrantz.se>2007-04-17 06:10:53 +1000
committerGravatar axel <axel@liljencrantz.se>2007-04-17 06:10:53 +1000
commit5c9570eb56126dda8f5319f94924a0b1b9e498ce (patch)
tree714f1711d9b03623f985afce948525482597a499 /util.c
parent778b6a31adc195b2fa89d120af57fe707b4f84d3 (diff)
Minor code tweaks
darcs-hash:20070416201053-ac50b-99d3ee51ef2b3642c737c3809bc2a4bfbe103b67.gz
Diffstat (limited to 'util.c')
-rw-r--r--util.c24
1 files changed, 20 insertions, 4 deletions
diff --git a/util.c b/util.c
index e1832730..0da829d0 100644
--- a/util.c
+++ b/util.c
@@ -1316,15 +1316,31 @@ void sb_destroy( string_buffer_t * b )
void sb_clear( string_buffer_t * b )
{
- wchar_t c=0;
+ sb_truncate( b, 0 );
+ assert( !wcslen( b->buff) );
+}
+void sb_truncate( string_buffer_t *b, int chars_left )
+{
+ wchar_t *arr;
+
CHECK( b, );
+
+ b->used = (chars_left)*sizeof( wchar_t);
+ arr = (wchar_t *)b->buff;
+ arr[chars_left] = 0;
- b->used=0;
- b_append( b, &c, sizeof( wchar_t));
- b->used -= sizeof(wchar_t);
}
+ssize_t sb_length( string_buffer_t *b )
+{
+ CHECK( b, -1 );
+ return (b->used-1)/sizeof( wchar_t);
+
+}
+
+
+
void b_init( buffer_t *b)
{