Lines 128-138
Link Here
|
128 |
/* O_MSGCAT 4.4BSD */ |
128 |
/* O_MSGCAT 4.4BSD */ |
129 |
{"msgcat", f_msgcat, OPT_STR, 0}, |
129 |
{"msgcat", f_msgcat, OPT_STR, 0}, |
130 |
/* O_NOPRINT 4.4BSD */ |
130 |
/* O_NOPRINT 4.4BSD */ |
131 |
{"noprint", f_print, OPT_STR, 0}, |
131 |
{"noprint", f_print, OPT_STR, OPT_EARLYSET}, |
132 |
/* O_NUMBER 4BSD */ |
132 |
/* O_NUMBER 4BSD */ |
133 |
{"number", f_reformat, OPT_0BOOL, 0}, |
133 |
{"number", f_reformat, OPT_0BOOL, 0}, |
134 |
/* O_OCTAL 4.4BSD */ |
134 |
/* O_OCTAL 4.4BSD */ |
135 |
{"octal", f_print, OPT_0BOOL, 0}, |
135 |
{"octal", f_print, OPT_0BOOL, OPT_EARLYSET}, |
136 |
/* O_OPEN 4BSD */ |
136 |
/* O_OPEN 4BSD */ |
137 |
{"open", NULL, OPT_1BOOL, 0}, |
137 |
{"open", NULL, OPT_1BOOL, 0}, |
138 |
/* O_OPTIMIZE 4BSD */ |
138 |
/* O_OPTIMIZE 4BSD */ |
Lines 142-148
Link Here
|
142 |
/* O_PATH 4.4BSD */ |
142 |
/* O_PATH 4.4BSD */ |
143 |
{"path", NULL, OPT_STR, 0}, |
143 |
{"path", NULL, OPT_STR, 0}, |
144 |
/* O_PRINT 4.4BSD */ |
144 |
/* O_PRINT 4.4BSD */ |
145 |
{"print", f_print, OPT_STR, 0}, |
145 |
{"print", f_print, OPT_STR, OPT_EARLYSET}, |
146 |
/* O_PROMPT 4BSD */ |
146 |
/* O_PROMPT 4BSD */ |
147 |
{"prompt", NULL, OPT_1BOOL, 0}, |
147 |
{"prompt", NULL, OPT_1BOOL, 0}, |
148 |
/* O_READONLY 4BSD (undocumented) */ |
148 |
/* O_READONLY 4BSD (undocumented) */ |
Lines 568-573
Link Here
|
568 |
break; |
568 |
break; |
569 |
} |
569 |
} |
570 |
|
570 |
|
|
|
571 |
if (F_ISSET(op, OPT_EARLYSET)) { |
572 |
/* Set the value. */ |
573 |
if (turnoff) |
574 |
O_CLR(sp, offset); |
575 |
else |
576 |
O_SET(sp, offset); |
577 |
} |
578 |
|
571 |
/* Report to subsystems. */ |
579 |
/* Report to subsystems. */ |
572 |
if (op->func != NULL && |
580 |
if (op->func != NULL && |
573 |
op->func(sp, spo, NULL, &turnoff) || |
581 |
op->func(sp, spo, NULL, &turnoff) || |
Lines 578-588
Link Here
|
578 |
break; |
586 |
break; |
579 |
} |
587 |
} |
580 |
|
588 |
|
581 |
/* Set the value. */ |
589 |
if (!F_ISSET(op, OPT_EARLYSET)) { |
582 |
if (turnoff) |
590 |
/* Set the value. */ |
|
|
591 |
if (turnoff) |
583 |
O_CLR(sp, offset); |
592 |
O_CLR(sp, offset); |
584 |
else |
593 |
else |
585 |
O_SET(sp, offset); |
594 |
O_SET(sp, offset); |
|
|
595 |
} |
586 |
break; |
596 |
break; |
587 |
case OPT_NUM: |
597 |
case OPT_NUM: |
588 |
if (turnoff) { |
598 |
if (turnoff) { |
Lines 653-658
Link Here
|
653 |
O_VAL(sp, offset) == value) |
663 |
O_VAL(sp, offset) == value) |
654 |
break; |
664 |
break; |
655 |
|
665 |
|
|
|
666 |
if (F_ISSET(op, OPT_EARLYSET)) { |
667 |
/* Set the value. */ |
668 |
if (o_set(sp, offset, 0, NULL, value)) { |
669 |
rval = 1; |
670 |
break; |
671 |
} |
672 |
} |
673 |
|
656 |
/* Report to subsystems. */ |
674 |
/* Report to subsystems. */ |
657 |
if (op->func != NULL && |
675 |
if (op->func != NULL && |
658 |
op->func(sp, spo, sep, &value) || |
676 |
op->func(sp, spo, sep, &value) || |
Lines 663-671
Link Here
|
663 |
break; |
681 |
break; |
664 |
} |
682 |
} |
665 |
|
683 |
|
666 |
/* Set the value. */ |
684 |
if (!F_ISSET(op, OPT_EARLYSET)) { |
667 |
if (o_set(sp, offset, 0, NULL, value)) |
685 |
/* Set the value. */ |
|
|
686 |
if (o_set(sp, offset, 0, NULL, value)) |
668 |
rval = 1; |
687 |
rval = 1; |
|
|
688 |
} |
669 |
break; |
689 |
break; |
670 |
case OPT_STR: |
690 |
case OPT_STR: |
671 |
if (turnoff) { |
691 |
if (turnoff) { |
Lines 690-695
Link Here
|
690 |
!strcmp(O_STR(sp, offset), sep)) |
710 |
!strcmp(O_STR(sp, offset), sep)) |
691 |
break; |
711 |
break; |
692 |
|
712 |
|
|
|
713 |
if (F_ISSET(op, OPT_EARLYSET)) { |
714 |
/* Set the value. */ |
715 |
if (o_set(sp, offset, OS_STRDUP, sep, 0)) { |
716 |
rval = 1; |
717 |
break; |
718 |
} |
719 |
} |
720 |
|
693 |
/* Report to subsystems. */ |
721 |
/* Report to subsystems. */ |
694 |
if (op->func != NULL && |
722 |
if (op->func != NULL && |
695 |
op->func(sp, spo, sep, NULL) || |
723 |
op->func(sp, spo, sep, NULL) || |
Lines 700-708
Link Here
|
700 |
break; |
728 |
break; |
701 |
} |
729 |
} |
702 |
|
730 |
|
703 |
/* Set the value. */ |
731 |
if (!F_ISSET(op, OPT_EARLYSET)) { |
704 |
if (o_set(sp, offset, OS_STRDUP, sep, 0)) |
732 |
/* Set the value. */ |
|
|
733 |
if (o_set(sp, offset, OS_STRDUP, sep, 0)) |
705 |
rval = 1; |
734 |
rval = 1; |
|
|
735 |
} |
706 |
break; |
736 |
break; |
707 |
default: |
737 |
default: |
708 |
abort(); |
738 |
abort(); |