From 490d8cafde0c3486ab3a9586258286a7b7297e94 Mon Sep 17 00:00:00 2001 From: Jacob Date: Wed, 27 Apr 2016 11:30:58 -0400 Subject: [PATCH] Restored old method of checking for presence of arguments. --- csim.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/csim.c b/csim.c index 733381f..f5e9713 100644 --- a/csim.c +++ b/csim.c @@ -61,8 +61,8 @@ size_t parse_int_arg(char* arg, char opt) int main(int argc, char* argv[]) { - size_t index_bits = 1, lines = ~0, block_bits = 1; // Useful variables. - char *filename; + size_t index_bits = 0, lines = 0, block_bits = 0; // Useful variables. + char *filename = NULL; int opt = 0, argflags = 0; while ((opt=getopt(argc, argv, "hvs:E:b:t:")) != -1) { switch (opt) { @@ -72,19 +72,15 @@ int main(int argc, char* argv[]) break; case 's': // 2^s = number of sets index_bits = parse_int_arg(optarg, 's'); - argflags |= 8; // 0b1000 break; case 'E': // associativity - lines per set lines = parse_int_arg(optarg, 'E'); - argflags |= 4; // 0b0100 break; case 'b': // 2^b = block size block_bits = parse_int_arg(optarg, 'b'); - argflags |= 2; // 0b0010 break; case 't': filename = optarg; - argflags |= 1; // 0b0001 break; case 'h': print_usage(); @@ -95,16 +91,12 @@ int main(int argc, char* argv[]) } } /* If any required arguments were not provided. (argflags != 0b1111) */ - if (argflags != 15) { + if (!index_bits || !lines || !block_bits || !filename) { printf("Usage: ./csim [-hv] -s -E -b -t \n"); return 1; } /* End of argument parsing. */ - printf("Arguments: %zd, %zd, %zd, %hd, %s\n", index_bits, lines, block_bits, VERBOSE, filename); - if(!index_bits || !lines || !block_bits || !filename) { - print_usage(); - } printSummary(0, 0, 0); return 0;