From b6608f1e8151ec432ba3d573f329f6fb51349b61 Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Tue, 8 Oct 1996 21:20:31 +0000 Subject: (ps_emit_seconds, ps_emit_minutes): Interpret PS_FMT_FIELD_COLON_MOD flag to mean `print zero as "-"'. --- libps/spec.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'libps') diff --git a/libps/spec.c b/libps/spec.c index 04aff7f7..adebf40c 100644 --- a/libps/spec.c +++ b/libps/spec.c @@ -462,8 +462,11 @@ ps_emit_seconds (struct proc_stat *ps, struct ps_fmt_field *field, FG (field, void)(ps, &tv); - fmt_seconds (&tv, !(field->flags & PS_FMT_FIELD_AT_MOD), prec, ABS (width), - buf, sizeof (buf)); + if ((field->flags & PS_FMT_FIELD_COLON_MOD) && tv.tv_sec == 0) + strcpy (buf, "-"); + else + fmt_seconds (&tv, !(field->flags & PS_FMT_FIELD_AT_MOD), prec, ABS (width), + buf, sizeof (buf)); return ps_stream_write_field (stream, buf, width); } @@ -478,8 +481,11 @@ ps_emit_minutes (struct proc_stat *ps, struct ps_fmt_field *field, FG (field, int)(ps, &tv); - fmt_minutes (&tv, !(field->flags & PS_FMT_FIELD_AT_MOD), ABS (width), - buf, sizeof (buf)); + if ((field->flags & PS_FMT_FIELD_COLON_MOD) && tv.tv_sec < 60) + strcpy (buf, "-"); + else + fmt_minutes (&tv, !(field->flags & PS_FMT_FIELD_AT_MOD), ABS (width), + buf, sizeof (buf)); return ps_stream_write_field (stream, buf, width); } -- cgit v1.2.3