diff options
author | Artur Artamonov <freeartman@wechall.net> | 2014-03-13 13:19:24 +0200 |
---|---|---|
committer | Artur Artamonov <freeartman@wechall.net> | 2014-03-13 13:19:24 +0200 |
commit | 77fe6091096d7bf1a73f600cbe8f90c702583ef3 (patch) | |
tree | 70a4e1918cb99874a614454ae6d2cd60c96dfffa /kconf2h.c | |
download | kconfig2h-77fe6091096d7bf1a73f600cbe8f90c702583ef3.tar.gz kconfig2h-77fe6091096d7bf1a73f600cbe8f90c702583ef3.zip |
Initial commit
Diffstat (limited to 'kconf2h.c')
-rw-r--r-- | kconf2h.c | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/kconf2h.c b/kconf2h.c new file mode 100644 index 0000000..91ef6c7 --- /dev/null +++ b/kconf2h.c @@ -0,0 +1,50 @@ +#include <stdio.h> +#include <stdlib.h> + +#include <sys/stat.h> + +#include "kconf2h.h" + +int main( int argc, char **argv ) +{ + FILE *fin = NULL; + FILE *fout = NULL; + struct stat st; + + char *buf=NULL; + if ( argc == 3 ) + { + fin = fopen( argv[1], "r+" ); + fout = fopen( argv[2], "w+" ); + fseek( fin, 0, SEEK_SET ); + if ( fin && fout ) + { + if ( stat( argv[1], &st ) ) + { + goto error_exit; + } + buf = malloc( st.st_size ); memset( buf, 0, st.st_size ); + size_t r_size = fread( buf, 1, st.st_size, fin ); + if ( r_size > 0 ) + { + int ret = parse_kconf2h( buf, fout ); + printf("Kconfig file parsed %d %d bytes\n", ret, r_size ); + } else + { + printf("ERR: while reading file %s [%d]\n", argv[1], r_size); + } +error_exit: + if ( buf ) free( buf ); + fclose( fin ); + fclose( fout ); + } else + { + printf("ERR: Cannot open file\n"); + } + } else + { + printf("ERR: usage ./kconf2h [conffile] [outputheader]\n"); + return -1; + } + return 0; +} |