]> granicus.if.org Git - vnstat/commitdiff
remove redundant dirname variable
authorTeemu Toivola <git@humdi.net>
Thu, 27 Jun 2019 20:28:47 +0000 (23:28 +0300)
committerTeemu Toivola <git@humdi.net>
Thu, 27 Jun 2019 20:28:47 +0000 (23:28 +0300)
src/daemon.c
src/daemon.h
src/vnstat.c
src/vnstat.h
src/vnstatd.c
tests/daemon_tests.c

index b9f1f1254b1226deedfc07f0bc3f6e75a522d3ee..6de2ce80529d41771b5d97dd9beb10481c3330fb 100644 (file)
@@ -259,7 +259,6 @@ void initdstate(DSTATE *s)
        s->alwaysadd = 0;
        s->iflisthash = 0;
        s->cfgfile[0] = '\0';
-       s->dirname[0] = '\0';
        s->user[0] = '\0';
        s->group[0] = '\0';
        s->prevdbupdate = 0;
@@ -291,7 +290,7 @@ void preparedatabases(DSTATE *s)
                exit(EXIT_FAILURE);
        }
 
-       if (!spacecheck(s->dirname)) {
+       if (!spacecheck(cfg.dbdir)) {
                printf("Error: Not enough free diskspace available, exiting.\n");
                exit(EXIT_FAILURE);
        }
@@ -322,8 +321,8 @@ unsigned int importlegacydbs(DSTATE *s)
        struct dirent *di;
        unsigned int importcount = 0;
 
-       if ((dir = opendir(s->dirname)) == NULL) {
-               printf("Error: Unable to open database directory \"%s\": %s\n", s->dirname, strerror(errno));
+       if ((dir = opendir(cfg.dbdir)) == NULL) {
+               printf("Error: Unable to open database directory \"%s\": %s\n", cfg.dbdir, strerror(errno));
                printf("Make sure it exists and is at least read enabled for current user.\n");
                printf("Exiting...\n");
                exit(EXIT_FAILURE);
@@ -336,7 +335,7 @@ unsigned int importlegacydbs(DSTATE *s)
                        if (db_getinterfacecountbyname(di->d_name)) {
                                continue;
                        }
-                       if (importlegacydb(di->d_name, s->dirname)) {
+                       if (importlegacydb(di->d_name, cfg.dbdir)) {
                                importcount++;
                        }
                }
@@ -753,9 +752,7 @@ void handleintsignals(DSTATE *s)
                        s->dbifcount = 0;
                        ibwflush();
                        db_close();
-                       if (loadcfg(s->cfgfile)) {
-                               strncpy_nt(s->dirname, cfg.dbdir, 512);
-                       }
+                       loadcfg(s->cfgfile);
                        ibwloadcfg(s->cfgfile);
                        if (!db_open_rw(1)) {
                                snprintf(errorstring, 1024, "Opening database after SIGHUP failed (%s), exiting.", strerror(errno));
@@ -799,8 +796,8 @@ void handleintsignals(DSTATE *s)
 void preparedirs(DSTATE *s)
 {
        /* database directory */
-       if (mkpath(s->dirname, 0775)) {
-               updatedirowner(s->dirname, s->user, s->group);
+       if (mkpath(cfg.dbdir, 0775)) {
+               updatedirowner(cfg.dbdir, s->user, s->group);
        }
 
        if (!cfg.createdirs || !s->rundaemon) {
index 5a5865d0890131122663ad8a965344c1bb641359..3fd3e2da9451b93cf70411df71f71b76b4997f22 100644 (file)
@@ -8,7 +8,7 @@ typedef struct {
        short alwaysadd, bootdetected, cleanuphour, dbretrycount;
        uint32_t iflisthash;
        uint64_t dbifcount;
-       char cfgfile[512], dirname[512];
+       char cfgfile[512];
        char user[33], group[33];
        time_t current, prevdbupdate, prevdbsave, prevwaldbcheckpoint;
        datacache *dcache;
index 6c2d6ff9cc017dc01dfb2c5dd058c745f7a3f7a2..a6e81d357f603e73fffc542fe8defdedcceb9627 100644 (file)
@@ -73,9 +73,6 @@ int main(int argc, char *argv[])
        strncpy_nt(p.definterface, cfg.iface, 32);
        strncpy_nt(p.alias, "none", 32);
 
-       /* init dirname */
-       strncpy_nt(p.dirname, cfg.dbdir, 512);
-
        /* parse parameters, maybe not the best way but... */
        for (currentarg = 1; currentarg < argc; currentarg++) {
                if (debug)
@@ -153,9 +150,9 @@ int main(int argc, char *argv[])
                        }
                } else if ((strcmp(argv[currentarg], "--dbdir")) == 0) {
                        if (currentarg + 1 < argc) {
-                               strncpy_nt(p.dirname, argv[currentarg + 1], 512);
+                               strncpy_nt(cfg.dbdir, argv[currentarg + 1], 512);
                                if (debug)
-                                       printf("DatabaseDir: \"%s\"\n", p.dirname);
+                                       printf("DatabaseDir: \"%s\"\n", cfg.dbdir);
                                currentarg++;
                                continue;
                        } else {
@@ -408,13 +405,12 @@ int main(int argc, char *argv[])
 
        /* open database and see if it contains any interfaces */
        if (!p.traffic && !p.livetraffic) {
-               if ((dir = opendir(p.dirname)) != NULL) {
+               if ((dir = opendir(cfg.dbdir)) != NULL) {
                        if (debug)
                                printf("Dir OK\n");
                        closedir(dir);
-                       strncpy_nt(cfg.dbdir, p.dirname, 512);
                        if (!db_open_ro()) {
-                               printf("Error: Failed to open database \"%s/%s\" in read-only mode.\n", p.dirname, DATABASEFILE);
+                               printf("Error: Failed to open database \"%s/%s\" in read-only mode.\n", cfg.dbdir, DATABASEFILE);
                                if (errno == ENOENT) {
                                        printf("The vnStat daemon should have created the database when started.\n");
                                        printf("Check that it is configured and running. See also \"man vnstatd\".\n");
@@ -429,7 +425,7 @@ int main(int argc, char *argv[])
                                strncpy_nt(p.definterface, cfg.iface, 32);
                        }
                } else {
-                       printf("Error: Unable to open database directory \"%s\": %s\n", p.dirname, strerror(errno));
+                       printf("Error: Unable to open database directory \"%s\": %s\n", cfg.dbdir, strerror(errno));
                        if (errno == ENOENT) {
                                printf("The vnStat daemon should have created this directory when started.\n");
                                printf("Check that it is configured and running. See also \"man vnstatd\".\n");
@@ -603,7 +599,7 @@ void handleremoveinterface(PARAMS *p)
        }
 
        if (!db_close() || !db_open_rw(0)) {
-               printf("Error: Handling database \"%s/%s\" failing: %s\n", p->dirname, DATABASEFILE, strerror(errno));
+               printf("Error: Handling database \"%s/%s\" failing: %s\n", cfg.dbdir, DATABASEFILE, strerror(errno));
                exit(EXIT_FAILURE);
        }
 
@@ -646,13 +642,13 @@ void handleaddinterface(PARAMS *p)
                exit(EXIT_FAILURE);
        }
 
-       if (!p->force && !spacecheck(p->dirname)) {
+       if (!p->force && !spacecheck(cfg.dbdir)) {
                printf("Error: Not enough free diskspace available.\n");
                exit(EXIT_FAILURE);
        }
 
        if (!db_close() || !db_open_rw(0)) {
-               printf("Error: Handling database \"%s/%s\" failing: %s\n", p->dirname, DATABASEFILE, strerror(errno));
+               printf("Error: Handling database \"%s/%s\" failing: %s\n", cfg.dbdir, DATABASEFILE, strerror(errno));
                exit(EXIT_FAILURE);
        }
 
@@ -683,7 +679,7 @@ void handlesetalias(PARAMS *p)
        }
 
        if (!db_close() || !db_open_rw(0)) {
-               printf("Error: Handling database \"%s/%s\" failing: %s\n", p->dirname, DATABASEFILE, strerror(errno));
+               printf("Error: Handling database \"%s/%s\" failing: %s\n", cfg.dbdir, DATABASEFILE, strerror(errno));
                exit(EXIT_FAILURE);
        }
 
index d72bc391b464ec89d8fbfd808ff8c3956d606e5f..3e345a8b9ec61587e1aa2c2f5c6565dd77f625c9 100644 (file)
@@ -6,7 +6,7 @@ typedef struct {
        int addiface, force, traffic;
        int livetraffic, defaultiface, removeiface, livemode;
        uint64_t dbifcount;
-       char interface[32], dirname[512], alias[32], filename[512];
+       char interface[32], alias[32], filename[512];
        char definterface[32], cfgfile[512], *ifacelist, jsonmode, xmlmode;
        char databegin[18], dataend[18];
 } PARAMS;
index cbf65dab0e81d9f02e4f711f8a4bf5df24dfd919..784ac456bee0b24fe3b284d9f763ce5f175b2c84 100644 (file)
@@ -64,8 +64,7 @@ int main(int argc, char *argv[])
                return 1;
        }
 
-       /* init dirname and other config settings */
-       strncpy_nt(s.dirname, cfg.dbdir, 512);
+       /* init config settings */
        strncpy_nt(s.user, cfg.daemonuser, 33);
        strncpy_nt(s.group, cfg.daemongroup, 33);
        s.updateinterval = cfg.updateinterval;
@@ -160,7 +159,7 @@ int main(int argc, char *argv[])
        setuser(s.user);
 
        if (!db_open_rw(1)) {
-               printf("Error: Failed to open database \"%s/%s\" in read/write mode.\n", s.dirname, DATABASEFILE);
+               printf("Error: Failed to open database \"%s/%s\" in read/write mode.\n", cfg.dbdir, DATABASEFILE);
                printf("Exiting...\n");
                exit(EXIT_FAILURE);
        }
@@ -169,7 +168,7 @@ int main(int argc, char *argv[])
        preparedatabases(&s);
 
        if (!db_removeoldentries()) {
-               printf("Error: Database \"%s/%s\" cleanup failed: %s\n", s.dirname, DATABASEFILE, strerror(errno));
+               printf("Error: Database \"%s/%s\" cleanup failed: %s\n", cfg.dbdir, DATABASEFILE, strerror(errno));
                printf("Exiting...\n");
                exit(EXIT_FAILURE);
        }
@@ -179,14 +178,14 @@ int main(int argc, char *argv[])
        /* start as daemon if requested, debug can't be enabled at the same time */
        if (s.rundaemon && !debug) {
                if (!db_close()) {
-                       printf("Error: Failed to close database \"%s/%s\" before starting daemon: %s\n", s.dirname, DATABASEFILE, strerror(errno));
+                       printf("Error: Failed to close database \"%s/%s\" before starting daemon: %s\n", cfg.dbdir, DATABASEFILE, strerror(errno));
                        printf("Exiting...\n");
                        exit(EXIT_FAILURE);
                }
                noexit++;
                daemonize();
                if (!db_open_rw(0)) {
-                       snprintf(errorstring, 1024, "Failed to reopen database \"%s/%s\": %s", s.dirname, DATABASEFILE, strerror(errno));
+                       snprintf(errorstring, 1024, "Failed to reopen database \"%s/%s\": %s", cfg.dbdir, DATABASEFILE, strerror(errno));
                        printe(PT_Error);
                        exit(EXIT_FAILURE);
                }
index 6c016038c43bd3ca722dabf3fafafaa8fd58c233..d7caa7c8a577680e41505517438b35400a29a59f 100644 (file)
@@ -210,7 +210,7 @@ START_TEST(preparedatabases_exits_with_no_databases)
        defaultcfg();
        initdstate(&s);
        suppress_output();
-       strncpy_nt(s.dirname, TESTDBDIR, 512);
+       strncpy_nt(cfg.dbdir, TESTDBDIR, 512);
        ck_assert_int_eq(remove_directory(TESTDIR), 1);
        ck_assert_int_eq(clean_testdbdir(), 1);
 
@@ -226,7 +226,7 @@ START_TEST(preparedatabases_exits_with_no_databases_and_noadd)
        initdstate(&s);
        s.noadd = 1;
        suppress_output();
-       strncpy_nt(s.dirname, TESTDBDIR, 512);
+       strncpy_nt(cfg.dbdir, TESTDBDIR, 512);
        ck_assert_int_eq(remove_directory(TESTDIR), 1);
        ck_assert_int_eq(clean_testdbdir(), 1);
 
@@ -242,7 +242,7 @@ START_TEST(preparedatabases_with_no_databases_creates_databases)
        defaultcfg();
        initdstate(&s);
        suppress_output();
-       strncpy_nt(s.dirname, TESTDBDIR, 512);
+       strncpy_nt(cfg.dbdir, TESTDBDIR, 512);
        ck_assert_int_eq(remove_directory(TESTDIR), 1);
        ck_assert_int_eq(clean_testdbdir(), 1);
        fake_proc_net_dev("w", "ethone", 1, 2, 3, 4);
@@ -281,7 +281,7 @@ START_TEST(filldatabaselist_exits_with_no_database_dir)
        defaultcfg();
        initdstate(&s);
        disable_logprints();
-       strncpy_nt(s.dirname, TESTDBDIR, 512);
+       strncpy_nt(cfg.dbdir, TESTDBDIR, 512);
        ck_assert_int_eq(remove_directory(TESTDIR), 1);
 
        filldatabaselist(&s);
@@ -317,7 +317,7 @@ START_TEST(filldatabaselist_adds_databases)
        initdstate(&s);
        disable_logprints();
        strncpy_nt(cfg.dbdir, TESTDBDIR, 512);
-       strncpy_nt(s.dirname, TESTDBDIR, 512);
+       strncpy_nt(cfg.dbdir, TESTDBDIR, 512);
        s.sync = 1;
        ck_assert_int_eq(remove_directory(TESTDIR), 1);
        ck_assert_int_eq(clean_testdbdir(), 1);
@@ -600,7 +600,7 @@ START_TEST(handleintsignals_handles_sighup)
 
        s.running = 1;
        intsignal = SIGHUP;
-       strncpy_nt(s.dirname, TESTDBDIR, 512);
+       strncpy_nt(cfg.dbdir, TESTDBDIR, 512);
        handleintsignals(&s);
        ck_assert_int_eq(intsignal, 0);
        ck_assert_int_eq(s.running, 1);
@@ -620,7 +620,7 @@ START_TEST(preparedirs_with_no_dir)
        defaultcfg();
        cfg.uselogging = 1;
        s.rundaemon = 1;
-       strncpy_nt(s.dirname, TESTDBDIR, 512);
+       strncpy_nt(cfg.dbdir, TESTDBDIR, 512);
        snprintf(logdir, 500, "%s/log/vnstat", TESTDIR);
        snprintf(piddir, 500, "%s/pid/vnstat", TESTDIR);
        snprintf(cfg.logfile, 512, "%s/vnstat.log", logdir);
@@ -646,7 +646,7 @@ START_TEST(preparedirs_with_dir)
        defaultcfg();
        cfg.uselogging = 1;
        s.rundaemon = 1;
-       strncpy_nt(s.dirname, TESTDBDIR, 512);
+       strncpy_nt(cfg.dbdir, TESTDBDIR, 512);
        snprintf(logdir, 500, "%s/log/vnstat", TESTDIR);
        snprintf(piddir, 500, "%s/pid/vnstat", TESTDIR);
        snprintf(cfg.logfile, 512, "%s/vnstat.log", logdir);