1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-06-20 00:15:31 +00:00
elinks/src/cookies/parsetst.c
2022-11-21 19:09:50 +01:00

61 lines
1.2 KiB
C

/* Tool for testing of cookies string parser */
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "cookies/parser.h"
/* fake tty get function, needed for charsets.c */
int get_ctl_handle()
{
return -1;
}
char *
gettext(const char *text)
{
return (char *)text;
}
int
os_default_charset(void)
{
return -1;
}
int
main(int argc, char *argv[])
{
struct cookie_str cstr;
char name[1024], value[1024], string[1024];
printf("This thing is for testing of cookies name-value pair parser.\n"
"You probably do not want to mess with it :).\n");
while (1) {
printf("Enter string (empty==quit): "); fflush(stdout);
fgets(string, 1024, stdin);
string[strlen(string) - 1] = '\0'; /* Strip newline. */
if (!*string) return 0;
if (!parse_cookie_str(&cstr, string)) {
printf("ERROR while parsing '%s'!\n", string);
continue;
}
memcpy(name, cstr.str, cstr.nam_end - cstr.str);
name[cstr.nam_end - cstr.str] = '\0';
memcpy(value, cstr.val_start, cstr.val_end - cstr.val_start);
value[cstr.val_end - cstr.val_start] = '\0';
printf("'%s' -> '%s' :: '%s'\n", string, name, value);
}
}