utf8fail(29, "\xf8\xf9\xfa\xfb", 4);
utf8fail(30, "\xf0\x20\xf9\x20\xfa\x20\xfb\x20", 8);
+char *render(void *data)
+{
+ char *buf = data;
+ return strdup(buf);
+}
+
int main(int argc, char **argv)
{
SilcBool success = FALSE;
unsigned char *s1, *s2, *s3, *s4;
- int l, opt;
+ unsigned char t[16];
+ char h[32 + 1], str[40];
+ int l, opt, i;
+ SilcUInt32 len;
- while ((opt = getopt(argc, argv, "hVd")) != EOF) {
+ while ((opt = getopt(argc, argv, "hVd:")) != EOF) {
switch(opt) {
case 'h':
printf("usage: test_silcstrutil\n");
if (optarg)
silc_log_set_debug_string(optarg);
else
- silc_log_set_debug_string("*strutil*");
+ silc_log_set_debug_string("*strutil*,*errno*");
break;
default:
exit(1);
goto err;
SILC_LOG_DEBUG(("Regex not found (Ok)"));
+ /* HEX to data, data to HEX tests */
+ for (i = 0; i < sizeof(t); i++)
+ t[i] = i;
+ silc_data2hex(t, sizeof(t), h, sizeof(h));
+ silc_hex2data(h, t, sizeof(t), &len);
+ silc_snprintf(h, sizeof(h), "010203ffabdef9ab");
+ silc_hex2data(h, t, sizeof(t), &len);
+ silc_data2hex(t, sizeof(t), h, sizeof(h));
+
+ /* snprintf test */
+ silc_snprintf(str, sizeof(str), "This is %@ rendered\n",
+ render, "automatically");
+ SILC_LOG_DEBUG((str));
+ SILC_LOG_DEBUG(("This too %@ rendered", render, "is automatically"));
+
success = TRUE;
err: