From 5614e8c852cb627d05736a01d3a349966faa4d24 Mon Sep 17 00:00:00 2001 From: Alex Marshall Date: Sun, 15 Feb 2009 03:58:17 -0800 Subject: 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. --- main.c | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 51 insertions(+), 14 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index 15d3150..bebf838 100644 --- a/main.c +++ b/main.c @@ -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, " "); #endif //USE_BRLAN #ifdef USE_BRLYT - brlytarg = currentarg++; - strcat(helpstr, " <*.brlyt>"); + brlytargdestmake = currentarg++; + strcat(helpstrmake, " "); #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; } -- cgit v1.3.1