Signed-off-by: Karel Zak <kzak@redhat.com>
extern char *mangle(const char *s);
extern void unmangle_to_buffer(const char *s, char *buf, size_t len);
-void unhexmangle_to_buffer(const char *s, char *buf, size_t len);
+extern size_t unhexmangle_to_buffer(const char *s, char *buf, size_t len);
extern char *unmangle(const char *s, char **end);
*buf = '\0';
}
-void unhexmangle_to_buffer(const char *s, char *buf, size_t len)
+size_t unhexmangle_to_buffer(const char *s, char *buf, size_t len)
{
size_t sz = 0;
+ const char *buf0 = buf;
if (!s)
- return;
+ return 0;
while(*s && sz < len - 1) {
if (*s == '\\' && sz + 3 < len - 1 && s[1] == 'x' &&
}
}
*buf = '\0';
+ return buf - buf0 + 1;
}
static inline char *skip_nonspaces(const char *s)