Skip to content

Commit c1e0df6

Browse files
fix: fix getMainArguments function
Co-authored-by: Tiago Giannotti <[email protected]>
1 parent 5a42f5a commit c1e0df6

File tree

2 files changed

+22
-38
lines changed

2 files changed

+22
-38
lines changed

src/main.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ int main(int argc, char* argv[]) {
2929
setDefaultMainArguments(&mainArguments);
3030
getMainArguments(&mainArguments, argc, argv);
3131

32-
// printf("> dashboardRows --> %d\n", mainArguments.dashboardRows);
33-
// printf("> dashboardCols --> %d\n", mainArguments.dashboardCols);
34-
// printf("> pattern --> %s\n", mainArguments.pattern);
35-
// printf("> maximumGeneration --> %d\n", mainArguments.maximumGeneration);
36-
// printf("> delay --> %d\n", mainArguments.delay);
37-
// printf("> platform --> %s\n", mainArguments.platform);
32+
printf("> dashboardRows --> %d\n", mainArguments.dashboardRows);
33+
printf("> dashboardCols --> %d\n", mainArguments.dashboardCols);
34+
printf("> pattern --> \"%s\"\n", mainArguments.pattern);
35+
printf("> maximumGeneration --> %d\n", mainArguments.maximumGeneration);
36+
printf("> delay --> %d\n", mainArguments.delay);
37+
printf("> platform --> \"%s\"\n", mainArguments.platform);
3838

3939
// free(mainArguments.pattern);
4040
// free(mainArguments.platform);

src/utilities.c

Lines changed: 16 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -12,60 +12,44 @@
1212
void getMainArguments(TMainArguments* pMainArguments, int argc, char* argv[]) {
1313
int i;
1414

15-
char argumentName[50];
15+
char* argumentName;
1616
char* argumentValue;
17+
char* sep;
1718

1819
int argumentValueInt;
1920

2021
for (i = 1; i < argc; i++) {
21-
argumentValue = malloc(50 * sizeof(char));
22-
sscanf(*(argv + i), "-- %[a-z|-] = %[-|a-z| |0-9]", argumentName, argumentValue);
22+
argumentName = *(argv + i);
23+
sep = strrchr(argumentName, '=');
24+
argumentValue = sep + 1;
25+
*sep = '\0';
2326

24-
if (strcmp(argumentName, "dashboard-rows") == 0) {
27+
if (strcmp(argumentName, "--dashboard-rows") == 0) {
2528
sscanf(argumentValue, "%d", &argumentValueInt);
2629
if (validateRows(argumentValueInt)) pMainArguments->dashboardRows = argumentValueInt;
2730

28-
free(argumentValue);
29-
30-
} else if (strcmp(argumentName, "dashboard-cols") == 0) {
31+
} else if (strcmp(argumentName, "--dashboard-cols") == 0) {
3132
sscanf(argumentValue, "%d", &argumentValueInt);
3233
if (validateCols(argumentValueInt)) pMainArguments->dashboardCols = argumentValueInt;
3334

34-
free(argumentValue);
35-
36-
} else if (strcmp(argumentName, "pattern") == 0) {
37-
if (validatePattern(argumentValue)) {
38-
pMainArguments->pattern = argumentValue;
39-
} else {
40-
free(argumentValue);
41-
};
35+
} else if (strcmp(argumentName, "--pattern") == 0) {
36+
if (validatePattern(argumentValue)) pMainArguments->pattern = argumentValue;
4237

43-
} else if (strcmp(argumentName, "maximum-generation") == 0) {
38+
} else if (strcmp(argumentName, "--maximum-generation") == 0) {
4439
if (validateGeneration(argumentValue)) {
4540
sscanf(argumentValue, "%d", &argumentValueInt);
4641
pMainArguments->maximumGeneration = argumentValueInt;
47-
}
48-
49-
free(argumentValue);
42+
};
5043

51-
} else if (strcmp(argumentName, "delay") == 0) {
44+
} else if (strcmp(argumentName, "--delay") == 0) {
5245
if (validateDelay(argumentValue)) {
5346
sscanf(argumentValue, "%d", &argumentValueInt);
5447
pMainArguments->delay = argumentValueInt;
5548
};
5649

57-
free(argumentValue);
58-
59-
} else if (strcmp(argumentName, "platform") == 0) {
60-
if (validatePlatform(argumentValue)) {
61-
pMainArguments->platform = argumentValue;
62-
} else {
63-
free(argumentValue);
64-
};
65-
66-
} else {
67-
free(argumentValue);
68-
}
50+
} else if (strcmp(argumentName, "--platform") == 0) {
51+
if (validatePlatform(argumentValue)) pMainArguments->platform = argumentValue;
52+
};
6953
}
7054
}
7155

0 commit comments

Comments
 (0)