Converted option parsing to getopt(). Also added some explanatory comments.

This commit is contained in:
Mark Whitley 2000-07-20 23:06:27 +00:00
parent 51154bacbe
commit 1ac435c15e
2 changed files with 28 additions and 26 deletions

View File

@ -23,9 +23,15 @@
*
*/
/*
* Note: This program is only necessary if you are running a 2.0.x (or
* earlier) kernel. 2.2.x and higher flush filesystem buffers automatically.
*/
#include "internal.h"
#include <sys/param.h>
#include <sys/syslog.h>
#include <unistd.h> /* for getopt() */
#if defined(__GLIBC__)
@ -41,30 +47,23 @@ static int use_sync = 0;
extern int update_main(int argc, char **argv)
{
int pid;
int opt;
argc--;
argv++;
while (argc>0 && **argv == '-') {
while (*++(*argv)) {
switch (**argv) {
while ((opt = getopt(argc, argv, "Ss:f:")) > 0) {
switch (opt) {
case 'S':
use_sync = 1;
break;
case 's':
if (--argc < 1) usage(update_usage);
sync_duration = atoi(*(++argv));
sync_duration = atoi(optarg);
break;
case 'f':
if (--argc < 1) usage(update_usage);
flush_duration = atoi(*(++argv));
flush_duration = atoi(optarg);
break;
default:
usage(update_usage);
}
}
argc--;
argv++;
}
pid = fork();
if (pid < 0)
@ -79,6 +78,8 @@ extern int update_main(int argc, char **argv)
* This is no longer necessary since 1.3.5x, but it will harmlessly
* exit if that is the case.
*/
/* set the program name that will show up in a 'ps' listing */
argv[0] = "bdflush (update)";
argv[1] = NULL;
argv[2] = NULL;

View File

@ -23,9 +23,15 @@
*
*/
/*
* Note: This program is only necessary if you are running a 2.0.x (or
* earlier) kernel. 2.2.x and higher flush filesystem buffers automatically.
*/
#include "internal.h"
#include <sys/param.h>
#include <sys/syslog.h>
#include <unistd.h> /* for getopt() */
#if defined(__GLIBC__)
@ -41,30 +47,23 @@ static int use_sync = 0;
extern int update_main(int argc, char **argv)
{
int pid;
int opt;
argc--;
argv++;
while (argc>0 && **argv == '-') {
while (*++(*argv)) {
switch (**argv) {
while ((opt = getopt(argc, argv, "Ss:f:")) > 0) {
switch (opt) {
case 'S':
use_sync = 1;
break;
case 's':
if (--argc < 1) usage(update_usage);
sync_duration = atoi(*(++argv));
sync_duration = atoi(optarg);
break;
case 'f':
if (--argc < 1) usage(update_usage);
flush_duration = atoi(*(++argv));
flush_duration = atoi(optarg);
break;
default:
usage(update_usage);
}
}
argc--;
argv++;
}
pid = fork();
if (pid < 0)
@ -79,6 +78,8 @@ extern int update_main(int argc, char **argv)
* This is no longer necessary since 1.3.5x, but it will harmlessly
* exit if that is the case.
*/
/* set the program name that will show up in a 'ps' listing */
argv[0] = "bdflush (update)";
argv[1] = NULL;
argv[2] = NULL;