update mcsdk_tools based on platform library 00.03
[keystone-rtos/mcsdk-tools.git] / hfile2array / hfile2array.c
index 19e658d452b91b5a5dd04a516fa6213fe1eb86d8..0414afa9e371586fa3a926a2d3f14e6649271dcc 100644 (file)
@@ -43,8 +43,9 @@
 
 int main(int argc, char **argv)
 {
-    FILE *out, *in;
+    FILE *out, *in, *in_hdr;
     char line[200] = "uint8_t ";
+    char line_hdr[200];
 
     if (argc != 4)
     {
@@ -68,12 +69,38 @@ int main(int argc, char **argv)
         printf ("Can not open %s\n", *argv[1]);
         return (-1);
     }
+
+    in_hdr = fopen("header.txt", "rt");
+    
+    if (in_hdr == NULL)
+    {
+        printf ("Can not open header.tx\n");
+        return (-1);
+    }
+
+    while (1)
+    {
+        if (fgets(line_hdr, 200, in_hdr) != NULL)
+        {
+            if (fputs(line_hdr, out) < 0)
+            {
+                printf ("fputs %s error\n", line_hdr);
+                goto error;
+            }
+        }
+        else
+        {
+            /* EOF reached */
+            break;
+        }
+    }
+
     strcat (line, (const char *)(*argv++));
     strcat (line, "[] = {\n");
     
-    if (fputs(line, out) != 0)
+    if (fputs(line, out) < 0)
     {
-        printf ("fputs %s error\n", fputs);
+        printf ("fputs %s error\n", line);
         goto error;
     }
 
@@ -81,9 +108,9 @@ int main(int argc, char **argv)
     {
         if (fgets(line, 200, in) != NULL)
         {
-            if (fputs(line, out) != 0)
+            if (fputs(line, out) < 0)
             {
-                printf ("fputs %s error\n", fputs);
+                printf ("fputs %s error\n", line);
                 goto error;
             }
         }
@@ -94,20 +121,22 @@ int main(int argc, char **argv)
         }
     }
 
-    if (fputs("};\n", out) != 0)
+    if (fputs("};\n", out) < 0)
     {
-        printf ("fputs %s error\n", fputs);
+        printf ("fputs };\\n error\n");
         goto error;
     }
 
     fclose(in);
+    fclose(in_hdr);
     fclose(out);
 
     return 0;
 
 error:
     fclose(in);
+    fclose(in_hdr);
     fclose(out);
     
     return  (-1);
-}
\ No newline at end of file
+}