Show a good example: Always check the return value of ftdi_init
[libftdi] / examples / simple.c
index dfe4c33..8abd7b3 100644 (file)
@@ -8,11 +8,15 @@
 #include <stdio.h>
 #include <ftdi.h>
 
-int main(int argc, char **argv)
+int main(void)
 {
     int ret;
     struct ftdi_context ftdic;
-    ftdi_init(&ftdic);
+    if (ftdi_init(&ftdic) < 0)
+    {
+        fprintf(stderr, "ftdi_init failed\n");
+        return EXIT_FAILURE;
+    }
 
     if ((ret = ftdi_usb_open(&ftdic, 0x0403, 0x6001)) < 0)
     {
@@ -28,7 +32,12 @@ int main(int argc, char **argv)
         printf("FTDI chipid: %X\n", chipid);
     }
 
-    ftdi_usb_close(&ftdic);
+    if ((ret = ftdi_usb_close(&ftdic)) < 0)
+    {
+        fprintf(stderr, "unable to close ftdi device: %d (%s)\n", ret, ftdi_get_error_string(&ftdic));
+        return EXIT_FAILURE;
+    }
+
     ftdi_deinit(&ftdic);
 
     return EXIT_SUCCESS;