PGresult* pq_query(PGconn* psql, const char *format2, ...) { char* format; strcpy(format, format2); printf("IN Pquery\n"); va_list argv; char *ptrQuery; char* replace; printf("IN Pquery still\n"); PGresult *result; va_start(argv, format2); //vasprintf(&ptrQuery, format, argv); char* str; for(;;) { str = va_arg(argv, char*); if(str == NULL) { break; } str = pq_escape(str); replace = strchr(format, '?'); if(replace != NULL) { printf("inserting %s into %s (%d)\n", str, format, strlen(format)+strlen(str)); format = (char*) realloc(format, 120*sizeof(char)); //strlen(format)+strlen(str)); //memmove(replace+strlen(str), replace+strlen(format), strlen(replace)+strlen(format)+1); //memcpy(replace, str, strlen(str)); } } va_end(argv); printf("%s\n", format); /* if(!ptrQuery) { return 0; } result = PQexec(psql, ptrQuery); free(ptrQuery); return result; */ return NULL; }