diff options
author | axel <axel@liljencrantz.se> | 2007-04-17 06:10:53 +1000 |
---|---|---|
committer | axel <axel@liljencrantz.se> | 2007-04-17 06:10:53 +1000 |
commit | 5c9570eb56126dda8f5319f94924a0b1b9e498ce (patch) | |
tree | 714f1711d9b03623f985afce948525482597a499 /util.c | |
parent | 778b6a31adc195b2fa89d120af57fe707b4f84d3 (diff) |
Minor code tweaks
darcs-hash:20070416201053-ac50b-99d3ee51ef2b3642c737c3809bc2a4bfbe103b67.gz
Diffstat (limited to 'util.c')
-rw-r--r-- | util.c | 24 |
1 files changed, 20 insertions, 4 deletions
@@ -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) { |