X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb/blobdiff_plain/30a2aa7a896f165e42c76315ae523f4225f7b130..cda220240e89e21e8b7dd76ab6b6a56000ce20e6:/hmland.c?ds=sidebyside diff --git a/hmland.c b/hmland.c index 5523cbd..fd2d09e 100644 --- a/hmland.c +++ b/hmland.c @@ -39,6 +39,7 @@ #include #include +#include "version.h" #include "hexdump.h" #include "hmcfgusb.h" @@ -261,6 +262,10 @@ static int hmlan_format_out(uint8_t *buf, int buf_len, void *data) format_part_out(&inpos, (buf_len-(inpos-buf)), &outpos, (sizeof(out)-(outpos-out)), 1, FLAG_FORMAT_HEX | FLAG_COMMA_BEFORE); format_part_out(&inpos, (buf_len-(inpos-buf)), &outpos, (sizeof(out)-(outpos-out)), 1, FLAG_FORMAT_HEX | FLAG_COMMA_BEFORE | FLAG_NL); + break; + case 'G': + format_part_out(&inpos, (buf_len-(inpos-buf)), &outpos, (sizeof(out)-(outpos-out)), 1, FLAG_FORMAT_HEX | FLAG_NL); + break; default: format_part_out(&inpos, (buf_len-(inpos-buf)), &outpos, (sizeof(out)-(outpos-out)), buf_len-1, FLAG_FORMAT_HEX | FLAG_NL); @@ -465,25 +470,15 @@ static int comm(int fd_in, int fd_out, int master_socket, int flags) return 0; } - if ((tm_s->tm_hour > reboot_at_hour) || - ((tm_s->tm_hour == reboot_at_hour) && (tm_s->tm_min >= reboot_at_minute))) { - if (verbose) - printf("Rebooting tomorrow at %02u:%02u\n", reboot_at_hour, reboot_at_minute); - - tm = 86400; - } else { - if (verbose) - printf("Rebooting today at %02u:%02u\n", reboot_at_hour, reboot_at_minute); - - tm = 0; - } - tm_s->tm_hour = reboot_at_hour; tm_s->tm_min = reboot_at_minute; tm_s->tm_sec = 0; - tm += mktime(tm_s); + tm = mktime(tm_s); reboot_seconds = tm - dev->opened_at; + + while (reboot_seconds <= 0) + reboot_seconds += 86400; } if (verbose && reboot_seconds) @@ -752,6 +747,7 @@ void hmlan_syntax(char *prog) fprintf(stderr, "\t-r n\t\treboot HM-CFG-USB after n seconds (0: no reboot, default: %u)\n", DEFAULT_REBOOT_SECONDS); fprintf(stderr, "\t hh:mm\treboot HM-CFG-USB daily at hh:mm\n"); fprintf(stderr, "\t-v\t\tverbose mode\n"); + fprintf(stderr, "\t-V\t\tshow version (" VERSION ")\n"); } @@ -766,7 +762,7 @@ int main(int argc, char **argv) reboot_seconds = DEFAULT_REBOOT_SECONDS; - while((opt = getopt(argc, argv, "DdhiPp:Rr:l:v")) != -1) { + while((opt = getopt(argc, argv, "DdhiPp:Rr:l:vV")) != -1) { switch (opt) { case 'D': debug = 1; @@ -816,6 +812,10 @@ int main(int argc, char **argv) case 'v': verbose = 1; break; + case 'V': + printf("hmland " VERSION "\n"); + printf("Copyright (c) 2013 Michael Gernoth\n\n"); + exit(EXIT_SUCCESS); case 'h': case ':': case '?':