aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/modbuslog.c28
1 files changed, 18 insertions, 10 deletions
diff --git a/src/modbuslog.c b/src/modbuslog.c
index 0adf566..ec0e10e 100644
--- a/src/modbuslog.c
+++ b/src/modbuslog.c
@@ -252,10 +252,10 @@ int main(int argc, char *argv[]) {
struct tm midnight = *localtime(&unixtime_day);
- char filename[50];
+ char log_filename[50];
//<mac address>_YYYY_MM_DD_HH_MM_SS.log
- sprintf(filename,
+ sprintf(log_filename,
"/var/modbuslog/%s_%04i_%02i_%02i_%02i_%02i_%02i.log",
mac_address(), midnight.tm_year + 1900,
midnight.tm_mon + 1, midnight.tm_mday, midnight.tm_hour,
@@ -263,23 +263,23 @@ int main(int argc, char *argv[]) {
//printf("%s\n",filename);
- FILE *fp = fopen(filename, "r");
+ FILE *fp = fopen(log_filename, "r");
if (fp) {
fclose(fp);
} else {
// file doesn't exist. create it.
syslog(LOG_NOTICE, "logfile does not exist");
- syslog(LOG_INFO, "creating file: %s", filename);
- FILE *fp = fopen(filename, "w");
+ syslog(LOG_INFO, "creating file: %s", log_filename);
+ FILE *fp = fopen(log_filename, "w");
fprintf(
fp,
"IntervalID|UTCDate|UTCTime|LOCALDate|LOCALTime|SensorID|RegisterID|Reading\n");
fclose(fp);
}
- FILE *filehandle = fopen(filename, "a+");
+ FILE *filehandle = fopen(log_filename, "a+");
- syslog(LOG_DEBUG, "opening file for append: %s", filename);
+ syslog(LOG_DEBUG, "opening file for append: %s", log_filename);
int16_t registervalue = 0;
@@ -312,8 +312,13 @@ int main(int argc, char *argv[]) {
struct tm lc = *localtime(&unixtime_min);
int intervalid;
+ char interval_filename[50];
+ sprintf(interval_filename, "/var/modbuslog/interval/interval.txt");
+
+ syslog(LOG_DEBUG, "opening interval file: %s", interval_filename);
+
FILE *intervalfile = fopen(
- "/var/modbuslog/interval/interval.txt", "r+");
+ interval_filename, "r+");
if (intervalfile) {
fclose(intervalfile);
@@ -321,12 +326,15 @@ int main(int argc, char *argv[]) {
// file doesn't exist. create it.
syslog(LOG_NOTICE, "interval file does not exist");
syslog(LOG_INFO, "attempting to create file: %s",
- intervalfile);
- FILE *intervalfile = fopen(filename, "w");
+ interval_filename);
+ intervalfile = fopen(interval_filename, "w");
fprintf(intervalfile, "0\n");
fclose(intervalfile);
}
+ // file now exists, try opening again
+ intervalfile = fopen(interval_filename, "r+");
+
fscanf(intervalfile, "%d", &intervalid);
//handle 32bit signed overflow
if (intervalid == 2147483647) {