diff options
author | Gilbert Ramirez <gram@alumni.rice.edu> | 1999-01-28 21:29:36 +0000 |
---|---|---|
committer | Gilbert Ramirez <gram@alumni.rice.edu> | 1999-01-28 21:29:36 +0000 |
commit | 69458d2e922042d2a08934af21d7e45dbb6eec14 (patch) | |
tree | 6949f9a4ccd753b032b12cb6d8f6b1ab60eb1f1f /packet.c | |
parent | 4e1c7318cb46657e9dc0aba44174299d6e7c5c58 (diff) | |
download | wireshark-69458d2e922042d2a08934af21d7e45dbb6eec14.tar.gz wireshark-69458d2e922042d2a08934af21d7e45dbb6eec14.tar.bz2 wireshark-69458d2e922042d2a08934af21d7e45dbb6eec14.zip |
Added guy's time and DHCP patch.
svn path=/trunk/; revision=177
Diffstat (limited to 'packet.c')
-rw-r--r-- | packet.c | 52 |
1 files changed, 51 insertions, 1 deletions
@@ -1,7 +1,7 @@ /* packet.c * Routines for packet disassembly * - * $Id: packet.c,v 1.18 1999/01/07 16:15:35 gram Exp $ + * $Id: packet.c,v 1.19 1999/01/28 21:29:36 gram Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -89,6 +89,56 @@ ip_to_str(const guint8 *ad) { return cur; } +#define PLURALIZE(n) (((n) > 1) ? "s" : "") +#define COMMA(do_it) ((do_it) ? ", " : "") + +gchar * +time_secs_to_str(guint32 time) +{ + static gchar str[3][8+1+4+2+2+5+2+2+7+2+2+7+1]; + static gchar *cur, *p; + int hours, mins, secs; + int do_comma; + + if (cur == &str[0][0]) { + cur = &str[1][0]; + } else if (cur == &str[1][0]) { + cur = &str[2][0]; + } else { + cur = &str[0][0]; + } + + secs = time % 60; + time /= 60; + mins = time % 60; + time /= 60; + hours = time % 24; + time /= 24; + + p = cur; + if (time != 0) { + sprintf(p, "%u day%s", time, PLURALIZE(time)); + p += strlen(p); + do_comma = 1; + } else + do_comma = 0; + if (hours != 0) { + sprintf(p, "%s%u hour%s", COMMA(do_comma), hours, PLURALIZE(hours)); + p += strlen(p); + do_comma = 1; + } else + do_comma = 0; + if (mins != 0) { + sprintf(p, "%s%u minute%s", COMMA(do_comma), mins, PLURALIZE(mins)); + p += strlen(p); + do_comma = 1; + } else + do_comma = 0; + if (secs != 0) + sprintf(p, "%s%u second%s", COMMA(do_comma), secs, PLURALIZE(secs)); + return cur; +} + void packet_hex_print(GtkText *bv, guchar *pd, gint len, gint bstart, gint blen) { gint i = 0, j, k, cur; |