dictionary *ParseInput(int argc, char** argv) { dictionary *programInput; programInput = paraparser_load(argc, argv, 0, NULL); MemorySize = iniparser_getint(programInput, "argument:1", 0); if (!MemorySize) { fprintf(stderr, "Syntax: %s <Memory size> <Number of Access> <Read/Write> <No. of iteration>\n", argv[0]); exit(1); } NumberOfAccess = iniparser_getint(programInput, "argument:2", 0); if (!NumberOfAccess) { fprintf(stderr, "Syntax: %s <Memory size> <Number of Access> <Read/Write> <No. of iteration>\n", argv[0]); exit(1); } ReadWrite = iniparser_getstring(programInput, "argument:3", 0); if (!NumberOfAccess) { fprintf(stderr, "Syntax: %s <Memory size> <Number of Access> <Read/Write> <No. of iteration>\n", argv[0]); exit(1); } NumberOfIteration = iniparser_getint(programInput, "argument:4", 0); if (!NumberOfIteration) { fprintf(stderr, "Syntax: %s <Memory size> <Number of Access> <Read/Write> <No. of iteration>\n", argv[0]); exit(1); } return programInput; }
dictionary *ParseInput(int argc, char** argv) { dictionary *programInput; char t1[3] = "-c"; // specify that this is a boolean type parameter char *d[1]; d[0] = t1; programInput = paraparser_load(argc, argv, 1, d); // Check if ini file is specified iniparser_copystring(programInput, "argument:1", DatabaseName, DatabaseName, MAX_FILENAME_LEN); if (DatabaseName[0] == '\0') { fprintf(stderr, "Syntax: %s <database> <ini> <pattern files> [-c Confirm] -l <log file>\n", argv[0]); exit(1); } iniparser_copystring(programInput, "argument:2", IniFileName, IniFileName, MAX_FILENAME_LEN); if (IniFileName[0] == '\0') { fprintf(stderr, "Syntax: %s <database> <ini> <pattern files> [-c Confirm] -l <log file>\n", argv[0]); exit(1); } iniparser_copystring(programInput, "argument:3", PatternFileName, PatternFileName, MAX_FILENAME_LEN); if (PatternFileName[0] == '\0') { fprintf(stderr, "Syntax: %s <database> <ini> <pattern files> [-c Confirm] -l <log file>\n", argv[0]); exit(1); } NumberOfSearchPatternFile = argc - 3; // Whether confirmation is needed Confirmation = iniparser_find_entry(programInput, "parameter:-c"); // Log file iniparser_copystring(programInput, "-l:3", LogFileName, LogFileName, MAX_FILENAME_LEN); return programInput; }