diff options
| author | Alex Marshall <SquidMan72@gmail.com> | 2009-02-15 03:58:17 -0800 |
|---|---|---|
| committer | Alex Marshall <SquidMan72@gmail.com> | 2009-02-15 03:58:17 -0800 |
| commit | 5614e8c852cb627d05736a01d3a349966faa4d24 (patch) | |
| tree | c7f3cd9ff8989f12b3af1b1c96a4c133c05ddc59 /main.c | |
| parent | 215cd892afdf8827b3c73d7b726bf073a729ef4c (diff) | |
Added (partially) functional XML -> BRLAN converter to C side Benzin. Added some other new fun stuff. Look at the converter please comex, its output doesn't work in parse-brlan but works in C benzin.
Diffstat (limited to 'main.c')
| -rw-r--r-- | main.c | 65 |
1 files changed, 51 insertions, 14 deletions
@@ -8,35 +8,72 @@ #include "endian.h" #include "general.h" +#ifdef DEBUGMAIN +#define dbgprintf printf +#else +#define dbgprintf // +#endif //DEBUGMAIN + int main(int argc, char* argv[]) { - int brlanarg; - int brlytarg; - int currentarg = 1; - char helpstr[256]; - sprintf(helpstr, "%s", argv[0]); + int brlanargread; + int brlytargread; + int brlanargmake; + int brlytargmake; + int brlanargdestmake; + int brlytargdestmake; + int reqargs; + int currentarg = 2; + char helpstrmake[256]; + char helpstrread[256]; + sprintf(helpstrmake, "%s m", argv[0]); + sprintf(helpstrread, "%s r", argv[0]); +#ifdef USE_BRLAN + brlanargread = currentarg; + strcat(helpstrread, " <*.brlan>"); + brlanargmake = currentarg++; + strcat(helpstrmake, " <*.xmlan>"); +#endif //USE_BRLAN +#ifdef USE_BRLYT + brlytargread = currentarg; + strcat(helpstrread, " <*.brlyt>"); + brlytargmake = currentarg++; + strcat(helpstrmake, " <*.xmlyt>"); +#endif //USE_BRLYT + reqargs = currentarg; #ifdef USE_BRLAN - brlanarg = currentarg++; - strcat(helpstr, " <*.brlan>"); + brlanargdestmake = currentarg++; + strcat(helpstrmake, " <out.brlan>"); #endif //USE_BRLAN #ifdef USE_BRLYT - brlytarg = currentarg++; - strcat(helpstr, " <*.brlyt>"); + brlytargdestmake = currentarg++; + strcat(helpstrmake, " <out.brlyt>"); #endif //USE_BRLYT + printf("Benzin %d.%d.%d%s.\n" \ "Written by SquidMan (Alex Marshall), Archangel (Takeda Toshinaka), and comex.\n" \ "(c) 2009 HACKERCHANNEL\n", BENZIN_VERSION_MAJOR, BENZIN_VERSION_MINOR, BENZIN_VERSION_BUILD, BENZIN_VERSION_OTHER); - if(argc < currentarg) { - printf("Invalid arguments. Use like so:\n\t%s\n", helpstr); + if(argc < reqargs) { + printf("Invalid arguments. Use like:\n\t%s\n\t\tor:\n\t%s\n", helpstrread, helpstrmake); exit(1); } - + if(argv[1][0] == 'r') { #ifdef USE_BRLAN - parse_brlan(argv[brlanarg]); + parse_brlan(argv[brlanargread]); #endif //USE_BRLAN #ifdef USE_BRLYT - parse_brlyt(argv[brlytarg]); + parse_brlyt(argv[brlytargread]); #endif //USE_BRLYT + }else if(argv[1][0] == 'm') { +#ifdef USE_BRLAN + dbgprintf("1:%d 2:%d f1:%s f2:%s\n", brlanargmake, brlanargdestmake, argv[brlanargmake], argv[brlanargdestmake]); + make_brlan(argv[brlanargmake], argv[brlanargdestmake]); +#endif //USE_BRLAN +#ifdef USE_BRLYT + dbgprintf("1:%d 2:%d f1:%s f2:%s\n", brlytargmake, brlytargdestmake, argv[brlytargmake], argv[brlytargdestmake]); + make_brlyt(argv[brlytargmake], argv[brlytargdestmake]); +#endif //USE_BRLYT + } return 0; } |
