Allow include() directive for libconfuse formatted config
[libftdi] / ftdi_eeprom / main.c
index edcfad7..455f156 100644 (file)
@@ -35,6 +35,7 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
+#include <errno.h>
 
 #include <confuse.h>
 #include <libusb.h>
@@ -251,6 +252,7 @@ int main(int argc, char *argv[])
         CFG_BOOL("chb_rs485", cfg_false, 0),
         CFG_BOOL("chc_rs485", cfg_false, 0),
         CFG_BOOL("chd_rs485", cfg_false, 0),
+        CFG_FUNC("include", &cfg_include),
         CFG_END()
     };
     cfg_t *cfg;
@@ -395,10 +397,15 @@ int main(int argc, char *argv[])
         }
         if (filename != NULL && strlen(filename) > 0)
         {
-
             FILE *fp = fopen (filename, "wb");
-            fwrite (eeprom_buf, 1, my_eeprom_size, fp);
-            fclose (fp);
+            
+            if(fp)
+            {
+                fwrite(eeprom_buf, 1, my_eeprom_size, fp);
+                fclose(fp);
+            }
+            else
+                fprintf(stderr, "Could not open output file %s: %s\n", filename, strerror(errno));
         }
         else
         {