summaryrefslogtreecommitdiff
path: root/cesar/lib/src/bitstream.c
diff options
context:
space:
mode:
authornaulet2008-06-16 15:51:53 +0000
committernaulet2008-06-16 15:51:53 +0000
commit3298ac5fdead0ceeeca1cb4286f11c9a97a3a6f0 (patch)
tree3e41fb2d05f9857f3cd93a35d5b2d35bde758a89 /cesar/lib/src/bitstream.c
parent58662b8cb17c91261f85fe91435da28457064ca5 (diff)
Fixed little bug in bitstream_strncpy
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@2347 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'cesar/lib/src/bitstream.c')
-rw-r--r--cesar/lib/src/bitstream.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/cesar/lib/src/bitstream.c b/cesar/lib/src/bitstream.c
index 2197ab630e..7f4764f2f5 100644
--- a/cesar/lib/src/bitstream.c
+++ b/cesar/lib/src/bitstream.c
@@ -395,25 +395,21 @@ bitstream_memcmp (void *s1, void *s2, size_t len)
/**
* Similar to the strncpy from the standard libc
- * \see man 3 strncpy for further information
+ * \param ctx The bitstream context (BITSTREAM_READ mode only)
+ * \param dest The destination string
+ * \param n The maximum length of the string
*/
char*
-bitstream_strncpy (char *dest, const char *src, size_t n)
+bitstream_strncpy (bitstream_t *ctx, char *dest, size_t n)
{
u8 c;
- bitstream_t ctx_r, ctx_w;
-
- bitstream_init (&ctx_r, (void*)src, n, BITSTREAM_READ);
- bitstream_init (&ctx_w, (void*)dest, n, BITSTREAM_WRITE);
while(n--)
{
- bitstream_access (&ctx_r, &c, 8);
- bitstream_access (&ctx_w, &c, 8);
+ bitstream_access (ctx, &c, 8);
+ *dest++ = c;
if(!c) break;
}
- bitstream_finalise (&ctx_r);
- bitstream_finalise (&ctx_w);
return dest;
}