X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=examples%2Fbitbang_cbus.c;h=359097e8e7bb71bc17561f4907198b926ce2f587;hp=f881f4c8dd5a165cabd79e1d1ecb7cdfc1e8fc22;hb=45ebed3754aa2814583f4d433155f87f24f5351f;hpb=cd2ead2f23cea38de6fdbf2459c79cb4936fbf8d diff --git a/examples/bitbang_cbus.c b/examples/bitbang_cbus.c index f881f4c..359097e 100644 --- a/examples/bitbang_cbus.c +++ b/examples/bitbang_cbus.c @@ -41,7 +41,6 @@ int main(void) unsigned char buf[1]; unsigned char bitmask; char input[10]; - int retval = 0; if ((ftdi = ftdi_new()) == 0) { @@ -53,7 +52,7 @@ int main(void) if (f < 0 && f != -5) { fprintf(stderr, "unable to open ftdi device: %d (%s)\n", f, ftdi_get_error_string(ftdi)); - ftdi_deinit(ftdi); + ftdi_free(ftdi); exit(-1); } printf("ftdi open succeeded: %d\n",f); @@ -61,8 +60,9 @@ int main(void) while (1) { // Set bitmask from input - fgets(input, sizeof(input) - 1, stdin); - if (input[0] == '\n') break; + char *s = fgets(input, sizeof(input) - 1, stdin); + if (s == NULL || input[0] == '\n') + break; bitmask = strtol(input, NULL, 0); printf("Using bitmask 0x%02x\n", bitmask); f = ftdi_set_bitmode(ftdi, bitmask, BITMODE_CBUS); @@ -70,8 +70,8 @@ int main(void) { fprintf(stderr, "set_bitmode failed for 0x%x, error %d (%s)\n", bitmask, f, ftdi_get_error_string(ftdi)); ftdi_usb_close(ftdi); - ftdi_deinit(ftdi); - retval = -1; + ftdi_free(ftdi); + exit(-1); } // read CBUS @@ -80,7 +80,7 @@ int main(void) { fprintf(stderr, "read_pins failed, error %d (%s)\n", f, ftdi_get_error_string(ftdi)); ftdi_usb_close(ftdi); - ftdi_deinit(ftdi); + ftdi_free(ftdi); exit(-1); } printf("Read returned 0x%01x\n", buf[0] & 0x0f);