]> granicus.if.org Git - vnstat/commitdiff
error print cleanup
authorTeemu Toivola <git@humdi.net>
Sun, 7 Jan 2018 20:32:24 +0000 (22:32 +0200)
committerTeemu Toivola <git@humdi.net>
Sun, 7 Jan 2018 20:32:24 +0000 (22:32 +0200)
src/cfg.c
src/common.c
src/dbaccess.c
src/dbsql.c

index 492227ee7e02b2447861a438477b59ace919ce55..f47539066653a75212f5cf6f3747717fcd9002a7 100644 (file)
--- a/src/cfg.c
+++ b/src/cfg.c
@@ -673,7 +673,7 @@ int opencfgfile(const char *cfgfile, FILE **fd)
                        if (debug)
                                printf("Config file: --config\n");
                } else {
-                       snprintf(errorstring, 1024, "Unable to open given config file \"%s\": %s\n", cfgfile, strerror(errno));
+                       snprintf(errorstring, 1024, "Unable to open given config file \"%s\": %s", cfgfile, strerror(errno));
                        printe(PT_Error);
                        return 0;
                }
index 112b406d62969c9f7c7c323460612f527d5ff229..4729ddad3ecb55d43c0aa48c94632c4dc11b1676 100644 (file)
@@ -258,7 +258,7 @@ int isnumeric(const char *s)
 
 void panicexit(const char *sourcefile, const int sourceline)
 {
-       snprintf(errorstring, 1024, "Unexpected error (%s), exiting. (%s:%d)\n", strerror(errno), sourcefile, sourceline);
+       snprintf(errorstring, 1024, "Unexpected error (%s), exiting. (%s:%d)", strerror(errno), sourcefile, sourceline);
        fprintf(stderr, "%s\n", errorstring);
        printe(PT_Error);
        exit(EXIT_FAILURE);
index eff5a611db6f281ee30bf7a8ad000f7efaac3dd6..1c0126eaaca27196f0c236480069afd5c094da21 100644 (file)
@@ -377,9 +377,9 @@ int lockdb(int fd, int dbwrite)
                /* give up if lock can't be obtained */
                if (locktry>=LOCKTRYLIMIT) {
                        if (dbwrite) {
-                               snprintf(errorstring, 1024, "Locking database file for write failed for %d tries:\n%s (%d)", locktry, strerror(errno), errno);
+                               snprintf(errorstring, 1024, "Locking database file for write failed for %d tries: %s", locktry, strerror(errno));
                        } else {
-                               snprintf(errorstring, 1024, "Locking database file for read failed for %d tries:\n%s (%d)", locktry, strerror(errno), errno);
+                               snprintf(errorstring, 1024, "Locking database file for read failed for %d tries: %s", locktry, strerror(errno));
                        }
                        printe(PT_Error);
                        return 0;
@@ -392,9 +392,9 @@ int lockdb(int fd, int dbwrite)
                /* real error */
                } else {
                        if (dbwrite) {
-                               snprintf(errorstring, 1024, "Locking database file for write failed:\n%s (%d)", strerror(errno), errno);
+                               snprintf(errorstring, 1024, "Locking database file for write failed: %s", strerror(errno));
                        } else {
-                               snprintf(errorstring, 1024, "Locking database file for read failed:\n%s (%d)", strerror(errno), errno);
+                               snprintf(errorstring, 1024, "Locking database file for read failed: %s", strerror(errno));
                        }
                        printe(PT_Error);
                        return 0;
index 612849ee68eb4f7cd31b0ad7c401358ccd033b05..8cf3192d3023b6a30febfa79b87ea00063e89820 100644 (file)
@@ -103,7 +103,7 @@ int db_setpragmas(void)
        rc = sqlite3_prepare_v2(db, "PRAGMA foreign_keys;", -1, &sqlstmt, NULL);
        if (rc != SQLITE_OK) {
                db_errcode = rc;
-               snprintf(errorstring, 1024, "Exec prepare \"PRAGMA foreign_keys;\" failed (%d): %s\n", rc, sqlite3_errmsg(db));
+               snprintf(errorstring, 1024, "Exec prepare \"PRAGMA foreign_keys;\" failed (%d): %s", rc, sqlite3_errmsg(db));
                printe(PT_Error);
                return 0;
        }
@@ -112,7 +112,7 @@ int db_setpragmas(void)
        rc = sqlite3_step(sqlstmt);
        if (rc != SQLITE_ROW) {
                db_errcode = rc;
-               snprintf(errorstring, 1024, "PRAGMA foreign_keys returned no row (%d): %s\n", rc, sqlite3_errmsg(db));
+               snprintf(errorstring, 1024, "PRAGMA foreign_keys returned no row (%d): %s", rc, sqlite3_errmsg(db));
                printe(PT_Error);
                sqlite3_finalize(sqlstmt);
                return 0;
@@ -121,7 +121,7 @@ int db_setpragmas(void)
        rc = sqlite3_finalize(sqlstmt);
        if (rc) {
                db_errcode = rc;
-               snprintf(errorstring, 1024, " Exec finalize \"PRAGMA foreign_keys;\" failed (%d): %s\n", rc, sqlite3_errmsg(db));
+               snprintf(errorstring, 1024, " Exec finalize \"PRAGMA foreign_keys;\" failed (%d): %s", rc, sqlite3_errmsg(db));
                printe(PT_Error);
                return 0;
        }
@@ -902,7 +902,7 @@ void dbiflistfree(dbiflist **dbifl)
 
 int db_getdata(dbdatalist **dbdata, dbdatalistinfo *listinfo, const char *iface, const char *table, const uint32_t resultlimit)
 {
-       int ret = 1, i;
+       int ret = 1, i, rc;
        char *datatables[] = {"fiveminute", "hour", "day", "month", "year", "top"};
        char sql[512], limit[64];
        sqlite3_int64 ifaceid = 0;
@@ -943,11 +943,18 @@ int db_getdata(dbdatalist **dbdata, dbdatalistinfo *listinfo, const char *iface,
                sqlite3_snprintf(512, sql, "select id, strftime('%%s', date, 'utc'), rx, tx from %s where interface=%"PRId64" order by date desc %s;", table, (int64_t)ifaceid, limit);
        }
 
-       if (sqlite3_prepare_v2(db, sql, -1, &sqlstmt, NULL) != SQLITE_OK) {
+       rc = sqlite3_prepare_v2(db, sql, -1, &sqlstmt, NULL);
+       if (rc != SQLITE_OK) {
+               db_errcode = rc;
+               snprintf(errorstring, 1024, "Get data prepare failed (%d: %s): \"%s\"", rc, sqlite3_errmsg(db), sql);
+               printe(PT_Error);
                return 0;
        }
 
-       if (sqlite3_column_count(sqlstmt) != 4) {
+       rc = sqlite3_column_count(sqlstmt);
+       if (rc != 4) {
+               snprintf(errorstring, 1024, "Get data returned unexpected column count %d instead of 4: \"%s\"", rc, sql);
+               printe(PT_Error);
                sqlite3_finalize(sqlstmt);
                return 0;
        }
@@ -958,7 +965,8 @@ int db_getdata(dbdatalist **dbdata, dbdatalistinfo *listinfo, const char *iface,
                rx = (uint64_t)sqlite3_column_int64(sqlstmt, 2);
                tx = (uint64_t)sqlite3_column_int64(sqlstmt, 3);
                if (!dbdatalistadd(dbdata, rx, tx, timestamp, rowid)) {
-                       /* TODO: some info print may be needed here */
+                       snprintf(errorstring, 1024, "Storing data for processing failed: %s", strerror(errno));
+                       printe(PT_Error);
                        ret = 0;
                        break;
                }