Lines 46-48
Link Here
|
46 |
static const char PROC_PATH[] = "/proc/sys/"; |
46 |
static const char PROC_PATH[] = "/proc/sys/"; |
|
|
47 |
static const char SYSFS_PATH[] = "/sys/"; |
48 |
static const char *dst_path; |
47 |
static const char DEFAULT_PRELOAD[] = "/etc/sysctl.conf"; |
49 |
static const char DEFAULT_PRELOAD[] = "/etc/sysctl.conf"; |
|
|
50 |
static const char DEFAULT_SYSFS_PRELOAD[] = "/etc/sysfsctl.conf"; |
48 |
static bool NameOnly; |
51 |
static bool NameOnly; |
Lines 84-86
Link Here
|
84 |
*/ |
87 |
*/ |
85 |
static int Usage(const char *restrict const name) { |
88 |
static int Usage(const char *restrict const name, const char *config) { |
86 |
printf("usage: %s [-n] [-e] variable ... \n" |
89 |
printf("usage: %s [-n] [-e] variable ... \n" |
Lines 88-91
Link Here
|
88 |
" %s [-n] [-e] -a \n" |
91 |
" %s [-n] [-e] -a \n" |
89 |
" %s [-n] [-e] [-q] -p <file> (default /etc/sysctl.conf) \n" |
92 |
" %s [-n] [-e] [-q] -p <file> (default %s) \n" |
90 |
" %s [-n] [-e] -A\n", name, name, name, name, name); |
93 |
" %s [-n] [-e] -A\n", name, name, name, name, config, name); |
91 |
return -1; |
94 |
return -1; |
Lines 137-142
Link Here
|
137 |
/* used to open the file */ |
140 |
/* used to open the file */ |
138 |
tmpname = malloc(strlen(name)+strlen(PROC_PATH)+1); |
141 |
tmpname = malloc(strlen(name)+strlen(dst_path)+1); |
139 |
strcpy(tmpname, PROC_PATH); |
142 |
strcpy(tmpname, dst_path); |
140 |
strcat(tmpname, name); |
143 |
strcat(tmpname, name); |
141 |
slashdot(tmpname+strlen(PROC_PATH),'.','/'); /* change . to / */ |
144 |
slashdot(tmpname+strlen(dst_path),'.','/'); /* change . to / */ |
142 |
|
145 |
|
Lines 246-248
Link Here
|
246 |
} else { |
249 |
} else { |
247 |
rc |= ReadSetting(tmpdir+strlen(PROC_PATH)); |
250 |
rc |= ReadSetting(tmpdir+strlen(dst_path)); |
248 |
} |
251 |
} |
Lines 289-295
Link Here
|
289 |
/* used to open the file */ |
292 |
/* used to open the file */ |
290 |
tmpname = malloc(equals-name+1+strlen(PROC_PATH)); |
293 |
tmpname = malloc(equals-name+1+strlen(dst_path)); |
291 |
strcpy(tmpname, PROC_PATH); |
294 |
strcpy(tmpname, dst_path); |
292 |
strncat(tmpname, name, (int)(equals-name)); |
295 |
strncat(tmpname, name, (int)(equals-name)); |
293 |
tmpname[equals-name+strlen(PROC_PATH)] = 0; |
296 |
tmpname[equals-name+strlen(dst_path)] = 0; |
294 |
slashdot(tmpname+strlen(PROC_PATH),'.','/'); /* change . to / */ |
297 |
slashdot(tmpname+strlen(dst_path),'.','/'); /* change . to / */ |
295 |
|
298 |
|
Lines 419-421
Link Here
|
419 |
int ReturnCode = 0; |
422 |
int ReturnCode = 0; |
420 |
const char *preloadfile = DEFAULT_PRELOAD; |
423 |
const char *preloadfile; |
421 |
|
424 |
|
Lines 426-429
Link Here
|
426 |
|
429 |
|
|
|
430 |
if (strcmp(me, "sysfsctl") == 0) { |
431 |
dst_path = SYSFS_PATH; |
432 |
preloadfile = DEFAULT_SYSFS_PRELOAD; |
433 |
} else { |
434 |
dst_path = PROC_PATH; |
435 |
preloadfile = DEFAULT_PRELOAD; |
436 |
} |
437 |
|
427 |
if (argc < 2) { |
438 |
if (argc < 2) { |
428 |
return Usage(me); |
439 |
return Usage(me, preloadfile); |
429 |
} |
440 |
} |
Lines 436-438
Link Here
|
436 |
if (!strcmp("--help",*argv)) { |
447 |
if (!strcmp("--help",*argv)) { |
437 |
Usage(me); |
448 |
Usage(me, preloadfile); |
438 |
exit(0); |
449 |
exit(0); |
Lines 440-442
Link Here
|
440 |
if (!strcmp("--version",*argv)) { |
451 |
if (!strcmp("--version",*argv)) { |
441 |
fprintf(stdout, "sysctl (%s)\n",procps_version); |
452 |
fprintf(stdout, "%s (%s)\n",me,procps_version); |
442 |
exit(0); |
453 |
exit(0); |
Lines 444-446
Link Here
|
444 |
fprintf(stderr, ERR_UNKNOWN_PARAMETER, *argv); |
455 |
fprintf(stderr, ERR_UNKNOWN_PARAMETER, *argv); |
445 |
return Usage(me); |
456 |
return Usage(me, preloadfile); |
446 |
} |
457 |
} |
Lines 484-488
Link Here
|
484 |
SwitchesAllowed = false; |
495 |
SwitchesAllowed = false; |
485 |
return DisplayAll(PROC_PATH); |
496 |
return DisplayAll(dst_path); |
486 |
case 'V': |
497 |
case 'V': |
487 |
fprintf(stdout, "sysctl (%s)\n",procps_version); |
498 |
fprintf(stdout, "%s (%s)\n",me,procps_version); |
488 |
exit(0); |
499 |
exit(0); |
Lines 491-496
Link Here
|
491 |
case '?': |
502 |
case '?': |
492 |
return Usage(me); |
503 |
return Usage(me, preloadfile); |
493 |
default: |
504 |
default: |
494 |
fprintf(stderr, ERR_UNKNOWN_PARAMETER, *argv); |
505 |
fprintf(stderr, ERR_UNKNOWN_PARAMETER, *argv); |
495 |
return Usage(me); |
506 |
return Usage(me, preloadfile); |
496 |
} |
507 |
} |
Lines 498-500
Link Here
|
498 |
if (NameOnly && Quiet) // nonsense |
509 |
if (NameOnly && Quiet) // nonsense |
499 |
return Usage(me); |
510 |
return Usage(me, preloadfile); |
500 |
SwitchesAllowed = false; |
511 |
SwitchesAllowed = false; |