diff --git a/sandbox/pqcrazyness/escaping.c b/sandbox/pqcrazyness/escaping.c new file mode 100644 index 00000000..43116b5f --- /dev/null +++ b/sandbox/pqcrazyness/escaping.c @@ -0,0 +1,40 @@ +#include +#include +#include + +/* Compile me with: + * + * gcc -p escaping -I$(pg_config --includedir) escaping.c -lpq" + * + * then: + * + * ./escaping dbname=test foo\\\\bar +*/ + +int main(int argc, char** argv) +{ + PGconn* conn; + int rl, len; + char* result; + + if (argc != 3) { + fprintf(stderr, "Usage: %s [dsn] [string]\n", argv[0]); + return 1; + } + + len = strlen(argv[1]); + result = malloc(len * 2 * sizeof(char)); + + rl = PQescapeString(result, argv[2], len); + result[rl] = '\0'; + printf("%s\n", result); + + conn = PQconnectdb(argv[1]); + + rl = PQescapeString(result, argv[2], len); + result[rl] = '\0'; + printf("%s\n", result); + + return 0; +} +