summaryrefslogtreecommitdiff
path: root/src/ps/parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ps/parser.c')
-rw-r--r--src/ps/parser.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/ps/parser.c b/src/ps/parser.c
index b836241..544f736 100644
--- a/src/ps/parser.c
+++ b/src/ps/parser.c
@@ -244,6 +244,13 @@ static const char *parse_sysv_option(void){
if(err) return err;
selection_list->typecode = SEL_COMM;
return NULL; /* can't have any more options */
+ case 'D':
+ trace("-D sets lstart date format\n");
+ arg = get_opt_arg();
+ if (!arg) return _("date format must follow -D");
+ if (lstart_format) free(lstart_format);
+ lstart_format = strdup(arg);
+ break;
case 'F': /* DYNIX/ptx -f plus sz,rss,psr=ENG between c and stime */
trace("-F does fuller listing\n");
format_modifiers |= FM_F;
@@ -794,6 +801,7 @@ static const char *parse_gnu_option(void){
{"columns", &&case_columns},
{"context", &&case_context},
{"cumulative", &&case_cumulative},
+ {"date-format", &&case_dateformat},
{"deselect", &&case_deselect}, /* -N */
{"forest", &&case_forest}, /* f -H */
{"format", &&case_format},
@@ -881,6 +889,12 @@ static const char *parse_gnu_option(void){
if(s[sl]) return _("option --cumulative does not take an argument");
include_dead_children = 1;
return NULL;
+ case_dateformat:
+ arg=grab_gnu_arg();
+ if (!arg) return _("date format must follow --date-format");
+ if (lstart_format) free(lstart_format);
+ lstart_format = strdup(arg);
+ return NULL;
case_deselect:
trace("--deselect\n");
if(s[sl]) return _("option --deselect does not take an argument");