#include <stdio.h>
#include <stdlib.h>
#include "cgi.h"
int main(int argc, char *argv[])
{
char *encoded, *decoded, *to_decode;
if (argc != 2)
{
fprintf (stderr, "\nurl_encoding.test <string to URL encode>\n");
return 1;
}
encoded = url_escape(argv[1]);
if (encoded == NULL)
{
fprintf (stderr, "\nurl_escape() failed\n");
return 1;
}
fprintf (stdout, "\n%s URL encoded is [%s]", argv[1], encoded);
to_decode = (char*)malloc((strlen(encoded)+2)*sizeof(char));
if (to_decode == NULL)
{
fprintf (stderr, "\nmalloc() failed\n");
return 1;
}
sprintf (to_decode, "?%s", encoded);
decoded = url_unescape(to_decode, strlen(to_decode));
if (decoded == NULL)
{
fprintf (stderr, "\nurl_unescape() failed\n");
return 1;
}
fprintf (stdout, "\nDecoding [%s] => [%s]\n\n", to_decode, decoded);
free (decoded);
free (to_decode);
free (encoded);
return 0;
}