83492c52001b8f6498c0da87731e511b621217c2 hiram Tue Aug 3 16:52:34 2010 -0700 use proper dateTime result string diff --git src/hg/useCount/useCount.c src/hg/useCount/useCount.c index 2abb643..a8bb6b2 100644 --- src/hg/useCount/useCount.c +++ src/hg/useCount/useCount.c @@ -1,62 +1,61 @@ /* useCount - a simple CGI that merely counts its references. */ #include "common.h" #include "jksql.h" #include "cheapcgi.h" #include "hdb.h" static char const rcsid[] = "$Id: newProg.c,v 1.30 2010/03/24 21:18:33 hiram Exp $"; /* table to use for counting in hgcentral */ static char useCount[] = "useCount"; int main(int argc, char *argv[]) { int count = 0; cgiSpoof(&argc, argv); -char *dateTime = NULL; +char dateTime[256]; char *remoteAddr = getenv("REMOTE_ADDR"); char *userAgent = getenv("HTTP_USER_AGENT"); char *version = cgiUsualString("version", "unknown"); if (remoteAddr == NULL) remoteAddr = "unknown"; if (userAgent == NULL) userAgent = "unknown"; /* protect against huge strings coming in from outside */ char safeAgent[255]; snprintf(safeAgent, sizeof(safeAgent), "%s", userAgent); char safeAddr[255]; snprintf(safeAddr, sizeof(safeAddr), "%s", remoteAddr); char safeVersion[255]; snprintf(safeVersion, sizeof(safeVersion), "%s", version); printf("Content-Type:text/html\n\n\n"); printf(""); printf("\n"); struct sqlConnection *conn = hConnectCentral(); if (conn) { char query[1024]; if (sqlTableExists(conn, useCount)) { safef(query, sizeof(query), "INSERT %s VALUES(0,\"%s\",\"%s\",now(),\"%s\")", useCount, safeAgent, safeAddr, safeVersion); sqlUpdate(conn,query); count = sqlLastAutoId(conn); safef(query, sizeof(query), "SELECT dateTime FROM %s WHERE count=%d", useCount, count); - /* yes, query is being reused here as result string */ - dateTime = sqlQuickQuery(conn, query, query, sizeof(query)); + (void) sqlQuickQuery(conn, query, dateTime, sizeof(dateTime)); } else { printf("ERROR: can not find table '%s'
\n", useCount); } hDisconnectCentral(&conn); } printf("count: %d, date: %s
\n", count, dateTime); printf("\n"); return 0; }