X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb/blobdiff_plain/6262005e88c7c9edff4c0f962ca338ffb2a299fb..53dbc699f936e7025e7f8d3dad18f62216e3c734:/hmsniff.c diff --git a/hmsniff.c b/hmsniff.c index 1936d5b..1f5d889 100644 --- a/hmsniff.c +++ b/hmsniff.c @@ -32,6 +32,7 @@ #include #include +#include "version.h" #include "hexdump.h" #include "hmcfgusb.h" @@ -124,7 +125,7 @@ static void dissect_hm(uint8_t *buf, int len) if (buf[2] & (1 << 7)) printf("RPTEN "); printf("\n"); printf("\tMessage type: %s (0x%02x)\n", hm_message_types(buf[3]), buf[3]); - printf("\tMesage: "); + printf("\tMessage: "); for (i = 10; i < len; i++) { printf("%02X", buf[i]); } @@ -200,17 +201,19 @@ int main(int argc, char **argv) rdata.wrong_hmid = 0; hmcfgusb_send(dev, (unsigned char*)"K", 1, 1); } - fd = hmcfgusb_poll(dev, 1); + fd = hmcfgusb_poll(dev, 1000); if (fd >= 0) { fprintf(stderr, "activity on unknown fd %d!\n", fd); continue; } else if (fd == -1) { if (errno) { - perror("hmcfgusb_poll"); - break; - } else { - /* periodically wakeup the device */ - hmcfgusb_send_null_frame(dev, 1); + if (errno != ETIMEDOUT) { + perror("hmcfgusb_poll"); + break; + } else { + /* periodically wakeup the device */ + hmcfgusb_send_null_frame(dev, 1); + } } } } @@ -218,5 +221,7 @@ int main(int argc, char **argv) hmcfgusb_close(dev); } while (!quit); + hmcfgusb_exit(); + return EXIT_SUCCESS; }