static int parse_command_line( int argc, char *argv[] )
{
int n;
char *error;
for (n = 1; n < argc; n++) {
const char *a = argv[n];
if (*a != '-') {
return -1;
}
if (strcmp (a, "-h") == 0) {
return -2;
}
if (strcmp (a, "-c") == 0) {
n++;
if (n >= argc) {
return -1;
}
conf_rgb = strtoul(argv[n], &error, 16 );
if (*error) {
printf("Invalid characters in color string: '%s'/n", error );
return -1;
}
continue;
}
if (strcmp (a, "-m") == 0) {
n++;
if (n >= argc) {
return -1;
}
if (strncmp (argv[n], "simp", 4) == 0) {
conf_mode = 0;
}
else if (strncmp (argv[n], "perf", 4) == 0) {
conf_mode = 1;
}
else {
return -1;
}
continue;
}
if (strcmp (a, "-s") == 0) {
conf_sync = 1;
continue;
}
if (strcmp (a, "-d") == 0) {
conf_debug = 1;
continue;
}
}
return 0;
}
{
int n;
char *error;
for (n = 1; n < argc; n++) {
const char *a = argv[n];
if (*a != '-') {
return -1;
}
if (strcmp (a, "-h") == 0) {
return -2;
}
if (strcmp (a, "-c") == 0) {
n++;
if (n >= argc) {
return -1;
}
conf_rgb = strtoul(argv[n], &error, 16 );
if (*error) {
printf("Invalid characters in color string: '%s'/n", error );
return -1;
}
continue;
}
if (strcmp (a, "-m") == 0) {
n++;
if (n >= argc) {
return -1;
}
if (strncmp (argv[n], "simp", 4) == 0) {
conf_mode = 0;
}
else if (strncmp (argv[n], "perf", 4) == 0) {
conf_mode = 1;
}
else {
return -1;
}
continue;
}
if (strcmp (a, "-s") == 0) {
conf_sync = 1;
continue;
}
if (strcmp (a, "-d") == 0) {
conf_debug = 1;
continue;
}
}
return 0;
}