mirror of git://git.suckless.org/ubase
If at least one entry fails, return EXIT_FAILURE in sysctl
This commit is contained in:
parent
3985929b6d
commit
edc39cef27
7
sysctl.c
7
sysctl.c
|
@ -122,6 +122,7 @@ main(int argc, char *argv[])
|
||||||
char *value;
|
char *value;
|
||||||
char *p;
|
char *p;
|
||||||
int i;
|
int i;
|
||||||
|
int r = EXIT_SUCCESS;
|
||||||
|
|
||||||
argv0 = argv[0];
|
argv0 = argv[0];
|
||||||
argv++;
|
argv++;
|
||||||
|
@ -133,6 +134,7 @@ main(int argc, char *argv[])
|
||||||
for (i = 0; i < argc; i++) {
|
for (i = 0; i < argc; i++) {
|
||||||
for (p = argv[i]; *p; p++) {
|
for (p = argv[i]; *p; p++) {
|
||||||
if (p[0] == '.' && p[1] == '.') {
|
if (p[0] == '.' && p[1] == '.') {
|
||||||
|
r = EXIT_FAILURE;
|
||||||
weprintf("malformed input: %s\n", argv[i]);
|
weprintf("malformed input: %s\n", argv[i]);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -142,6 +144,7 @@ main(int argc, char *argv[])
|
||||||
p = strchr(argv[i], '=');
|
p = strchr(argv[i], '=');
|
||||||
if (p) {
|
if (p) {
|
||||||
if (p[1] == '\0') {
|
if (p[1] == '\0') {
|
||||||
|
r = EXIT_FAILURE;
|
||||||
weprintf("malformed input: %s\n", argv[i]);
|
weprintf("malformed input: %s\n", argv[i]);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -155,12 +158,14 @@ main(int argc, char *argv[])
|
||||||
if (variable) {
|
if (variable) {
|
||||||
if (value) {
|
if (value) {
|
||||||
if (setsysctl(variable, value) < 0) {
|
if (setsysctl(variable, value) < 0) {
|
||||||
|
r = EXIT_FAILURE;
|
||||||
weprintf("failed to set sysctl for %s\n", variable);
|
weprintf("failed to set sysctl for %s\n", variable);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (getsysctl(variable, &value) < 0) {
|
if (getsysctl(variable, &value) < 0) {
|
||||||
|
r = EXIT_FAILURE;
|
||||||
weprintf("failed to get sysctl for %s\n", variable);
|
weprintf("failed to get sysctl for %s\n", variable);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -170,5 +175,5 @@ main(int argc, char *argv[])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue