]> granicus.if.org Git - vnstat/commitdiff
extract parts of vnstat main to separate functions
authorTeemu Toivola <git@humdi.net>
Sun, 2 Mar 2014 20:59:55 +0000 (22:59 +0200)
committerTeemu Toivola <git@humdi.net>
Sun, 2 Mar 2014 20:59:55 +0000 (22:59 +0200)
src/Makefile
src/dbaccess.c
src/dbaccess.h
src/vnstat.c
tests/Makefile

index 5fe15cb5c80903b8874d67cbd425f6570dc365f6..60d9ee8e45a4ecec8facf694762d652f4bcf00fc 100644 (file)
@@ -24,7 +24,7 @@ ifinfo.o: ifinfo.c ifinfo.h common.h dbaccess.h misc.h cfg.h
 traffic.o: traffic.c traffic.h common.h ifinfo.h misc.h
 dbxml.o: dbxml.c dbxml.h common.h
 dbshow.o: dbshow.c dbshow.h misc.h common.h
-dbaccess.o: dbaccess.c dbaccess.h common.h
+dbaccess.o: dbaccess.c dbaccess.h misc.h common.h
 dbmerge.o: dbmerge.c dbmerge.h dbaccess.h common.h
 dbcache.o: dbcache.c dbcache.h dbaccess.h common.h ifinfo.h
 common.o: common.c common.h
index a6576302e47f0877d6d851136a5805122bab012a..1819e2f40662bbdfb88247e0b0c9c133f5c3bab8 100644 (file)
@@ -1,5 +1,6 @@
 #include "common.h"
 #include "dbaccess.h"
+#include "misc.h"
 
 int readdb(const char *iface, const char *dirname)
 {
@@ -762,3 +763,41 @@ void rotatemonths(void)
                printf("db: Months rotated. Current month: \"%d\".\n", d->tm_mon+1);
        }
 }
+
+void cleartop10(const char *iface, const char *dirname)
+{
+       int i;
+
+       if (readdb(iface, dirname)!=0) {
+               exit(EXIT_FAILURE);
+       }
+
+       for (i=0; i<=9; i++) {
+               data.top10[i].rx=data.top10[i].tx=0;
+               data.top10[i].rxk=data.top10[i].txk=0;
+               data.top10[i].used=0;
+       }
+
+       writedb(iface, dirname, 0);
+       printf("Top10 cleared for interface \"%s\".\n", data.interface);
+}
+
+void rebuilddbtotal(const char *iface, const char *dirname)
+{
+       int i;
+
+       if (readdb(iface, dirname)!=0) {
+               exit(EXIT_FAILURE);
+       }
+
+       data.totalrx=data.totaltx=data.totalrxk=data.totaltxk=0;
+       for (i=0; i<=11; i++) {
+               if (data.month[i].used) {
+                       addtraffic(&data.totalrx, &data.totalrxk, data.month[i].rx, data.month[i].rxk);
+                       addtraffic(&data.totaltx, &data.totaltxk, data.month[i].tx, data.month[i].txk);
+               }
+       }
+
+       writedb(iface, dirname, 0);
+       printf("Total transfer rebuild completed for interface \"%s\".\n", data.interface);
+}
index 956b875bd674527aa2a5169a29e7bf6a31e23887..928bb007e0337f9e49918b514e08a480d626195e 100644 (file)
@@ -12,6 +12,8 @@ int removedb(const char *iface, const char *dirname);
 void cleanhours(void);
 void rotatedays(void);
 void rotatemonths(void);
+void cleartop10(const char *iface, const char *dirname);
+void rebuilddbtotal(const char *iface, const char *dirname);
 
 
 /* version 1.0 database format aka db v1 */
index 15bc5f2fe447719a64a6f80b71d62cec8c54b466..deb6d5c7c8e8388f7b62ae55eeb8c7d524794e9c 100644 (file)
@@ -457,16 +457,7 @@ int main(int argc, char *argv[]) {
                        return 1;
                }
                if (force) {
-                       readdb(interface, dirname);
-
-                       for (i=0; i<=9; i++) {
-                               data.top10[i].rx=data.top10[i].tx=0;
-                               data.top10[i].rxk=data.top10[i].txk=0;
-                               data.top10[i].used=0;
-                       }
-
-                       writedb(interface, dirname, 0);
-                       printf("Top10 cleared for interface \"%s\".\n", data.interface);
+                       cleartop10(interface, dirname);
                        query=0;
                } else {
                        printf("Warning:\nThe current option would clear the top10 for \"%s\".\n", interface);
@@ -482,18 +473,7 @@ int main(int argc, char *argv[]) {
                        return 1;
                }
                if (force) {
-                       readdb(interface, dirname);
-
-                       data.totalrx=data.totaltx=data.totalrxk=data.totaltxk=0;
-                       for (i=0; i<=11; i++) {
-                               if (data.month[i].used) {
-                                       addtraffic(&data.totalrx, &data.totalrxk, data.month[i].rx, data.month[i].rxk);
-                                       addtraffic(&data.totaltx, &data.totaltxk, data.month[i].tx, data.month[i].txk);
-                               }
-                       }
-
-                       writedb(interface, dirname, 0);
-                       printf("Total transfer rebuild completed for interface \"%s\".\n", data.interface);
+                       rebuilddbtotal(interface, dirname);
                        query=0;
                } else {
                        printf("Warning:\nThe current option would rebuild total tranfers for \"%s\".\n", interface);
index d4fd93acd13baa8613e92cf8841458fce6473a4f..477e5fe6c3304bfb68e1921146c0d6c4e7e431ee 100644 (file)
@@ -28,7 +28,7 @@ misc_tests.o: misc_tests.c misc_tests.h vnstat_tests.h common.h misc.h
 
 common.o: common.c common.h
 ifinfo.o: ifinfo.c ifinfo.h common.h dbaccess.h misc.h cfg.h
-dbaccess.o: dbaccess.c dbaccess.h common.h
+dbaccess.o: dbaccess.c dbaccess.h misc.h common.h
 dbcache.o: dbcache.c dbcache.h dbaccess.h common.h ifinfo.h
 cfg.o: cfg.c cfg.h common.h
 misc.o: misc.c misc.h common.h