[Commit] nickle ChangeLog,1.143,1.144 parse-args.5c,1.5,1.6
Bart Massey
commit at keithp.com
Fri Dec 23 23:53:41 PST 2005
- Previous message: [Commit] nickle/examples menace2.5c, 1.8, 1.9 miller-rabin.5c, 1.6,
1.7 mutextest.5c, 1.9, 1.10 randtest.5c, 1.5, 1.6 rsa-demo.5c,
1.4, 1.5 skiplist.5c, 1.1, 1.2 skiplisttest.5c, 1.2,
1.3 sort.5c, 1.3, 1.4
- Next message: [Commit] nickle ChangeLog, 1.144, 1.145 Makefile.am, 1.66,
1.67 scanf.5c, 1.21, 1.22
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Committed by: bart
Update of /local/src/CVS/nickle
In directory home.keithp.com:/tmp/cvs-serv7748
Modified Files:
ChangeLog parse-args.5c
Log Message:
2005-12-23 Bart Massey <bart at cs.pdx.edu>
* parse-args.5c:
Make usage() function user-visible by exporting
closure when parse_args() is called.
Index: ChangeLog
===================================================================
RCS file: /local/src/CVS/nickle/ChangeLog,v
retrieving revision 1.143
retrieving revision 1.144
diff -u -d -r1.143 -r1.144
--- ChangeLog 12 Dec 2005 07:05:49 -0000 1.143
+++ ChangeLog 24 Dec 2005 07:53:39 -0000 1.144
@@ -1,3 +1,9 @@
+2005-12-23 Bart Massey <bart at cs.pdx.edu>
+
+ * parse-args.5c:
+ Make usage() function user-visible by exporting
+ closure when parse_args() is called.
+
2005-12-11 Bart Massey <bart at cs.pdx.edu>
version 2.52
Index: parse-args.5c
===================================================================
RCS file: /local/src/CVS/nickle/parse-args.5c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- parse-args.5c 27 Oct 2005 06:31:06 -0000 1.5
+++ parse-args.5c 24 Dec 2005 07:53:39 -0000 1.6
@@ -67,11 +67,17 @@
}
/*
- * the argument description was defective, with
- * a reason string
+ * The argument description was defective, with
+ * a reason string.
*/
public exception bad_argd(string reason);
+ /*
+ * Print a usage message on the given file.
+ * XXX Valid only after parseargs() has been called.
+ */
+ public void(file f) usage;
+
public void parseargs(&argdesc argd, &(string[*]) argv)
/*
* Parse arguments in 'argv' according to 'argd'
@@ -109,7 +115,7 @@
}
}
- void usage(file f)
+ void usagef(file f)
/*
* Print a description of program usage on f
*/
@@ -145,6 +151,7 @@
}
exit(1);
}
+ usage = usagef;
void save_value(&arg_var a, string value)
/*
@@ -185,7 +192,7 @@
if (argind >= dim(argv)) {
fprintf(stderr, "%s: missing value for --%s\n",
argd.prog_name, a.name);
- usage(stderr);
+ usagef(stderr);
}
save_value(&a.var, argv[argind]);
argind++;
@@ -195,7 +202,7 @@
/* handle the help case first */
if (argind < dim(argv) &&
(argv[argind] == "--help" || argv[argind] == "--usage"))
- usage(stdout);
+ usagef(stdout);
/* now walk the arguments */
while(argind < dim(argv)) {
@@ -208,7 +215,7 @@
"%s: don't know what to do with arg \"%s\"\n",
argd.prog_name,
a);
- usage(stderr);
+ usagef(stderr);
}
break;
}
@@ -220,7 +227,7 @@
fprintf(stderr, "%s: unknown flag char '-%c'\n",
argd.prog_name,
a[i]);
- usage(stderr);
+ usagef(stderr);
}
process_flag(&arg_abbr_hash[a[i]]);
}
@@ -234,7 +241,7 @@
fprintf(stderr, "%s: unknown flag \"--%s\"\n",
argd.prog_name,
argname);
- usage(stderr);
+ usagef(stderr);
}
process_flag(&arg_name_hash[argname]);
continue;
@@ -248,7 +255,7 @@
fprintf(stderr, "%s: extra argument \"%s\"\n",
argd.prog_name,
argv[argind]);
- usage(stderr);
+ usagef(stderr);
}
/* process any positional arguments */
@@ -261,7 +268,7 @@
fprintf(stderr, "%s: missing required argument %s\n",
argd.prog_name,
argd.posn_args[i].name);
- usage(stderr);
+ usagef(stderr);
}
save_value(&argd.posn_args[i].var, argv[argind]);
argind++;
@@ -280,7 +287,7 @@
fprintf(stderr, "%s: unknown or extra argument \"%s\"\n",
argd.prog_name,
argv[argind]);
- usage(stderr);
+ usagef(stderr);
}
}
}
- Previous message: [Commit] nickle/examples menace2.5c, 1.8, 1.9 miller-rabin.5c, 1.6,
1.7 mutextest.5c, 1.9, 1.10 randtest.5c, 1.5, 1.6 rsa-demo.5c,
1.4, 1.5 skiplist.5c, 1.1, 1.2 skiplisttest.5c, 1.2,
1.3 sort.5c, 1.3, 1.4
- Next message: [Commit] nickle ChangeLog, 1.144, 1.145 Makefile.am, 1.66,
1.67 scanf.5c, 1.21, 1.22
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Commit
mailing list