- sigrelse(SIGINT);
- vp++;
- while (*vp[0] == '-') {
- if (*vp && eq(*vp, "-c")) {
- cflg++;
- vp++;
- }
- if (*vp && eq(*vp, "-r")) {
- rflg++;
- vp++;
- }
+ (void) sigsetmask(sigblock(0L) & ~sigmask(SIGINT));
+ while (*++vp && **vp == '-') {
+ char *vp2 = *vp;
+
+ while (*++vp2)
+ switch (*vp2) {
+ case 'h':
+ hflg++;
+ break;
+ case 'r':
+ rflg++;
+ break;
+ case '-': /* ignore multiple '-'s */
+ break;
+ default:
+ printf("Unknown flag: -%c\n", *vp2);
+ error("Usage: history [-rh] [# number of events]");
+ }