Moved the value_string structures and function from packet.{c,h} into
authorhagbard <hagbard@f5534014-38df-0310-8fa8-9805f1628bb7>
Sun, 1 Apr 2001 03:18:41 +0000 (03:18 +0000)
committerhagbard <hagbard@f5534014-38df-0310-8fa8-9805f1628bb7>
Sun, 1 Apr 2001 03:18:41 +0000 (03:18 +0000)
a separate value_string.{c,h}.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@3221 f5534014-38df-0310-8fa8-9805f1628bb7

epan/Makefile.am
epan/Makefile.nmake
epan/packet.c
epan/packet.h
epan/value_string.c [new file with mode: 0644]
epan/value_string.h [new file with mode: 0644]

index e6eebdb6a6a798a7fef4efdf90d89b6d4a42a7cd..6c824fdc3f3b76990ca37f10e02f144ce845062a 100644 (file)
@@ -2,7 +2,7 @@
 # Automake file for the EPAN library
 # (Ethereal Protocol ANalyzer Library)
 #
-# $Id: Makefile.am,v 1.18 2001/04/01 02:47:55 hagbard Exp $
+# $Id: Makefile.am,v 1.19 2001/04/01 03:18:41 hagbard Exp $
 #
 # Ethereal - Network traffic analyzer
 # By Gerald Combs <gerald@zing.org>
@@ -67,7 +67,9 @@ libethereal_a_SOURCES = \
        to_str.c                \
        to_str.h                \
        tvbuff.c                \
-       tvbuff.h
+       tvbuff.h                \
+       value_string.c          \
+       value_string.h          
 
 EXTRA_libethereal_a_SOURCES =  \
         inet_aton.c            \
index 5c87123281eda489bd5f49292815cd08222d8d9c..31bd83da88b599f682a586497f7e8367616f3ec3 100644 (file)
@@ -36,6 +36,7 @@ OBJECTS=atalk-utils.obj       \
        strutil.obj      \
        to_str.obj      \
        tvbuff.obj       \
+       value_string.obj \
 
 
 all: ftypes dfilter ethereal.lib
index 7cf1872d0fa77fd082a791d1bd7b44c984182281..cb5c89132c73430e8dcbbc230332cf7500ed5a37 100644 (file)
@@ -1,7 +1,7 @@
 /* packet.c
  * Routines for packet disassembly
  *
- * $Id: packet.c,v 1.25 2001/04/01 02:47:55 hagbard Exp $
+ * $Id: packet.c,v 1.26 2001/04/01 03:18:41 hagbard Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -127,58 +127,6 @@ packet_cleanup(void)
        /* nothing */
 }
 
-/* Tries to match val against each element in the value_string array vs.
-   Returns the associated string ptr on a match.
-   Formats val with fmt, and returns the resulting string, on failure. */
-gchar*
-val_to_str(guint32 val, const value_string *vs, const char *fmt) {
-  gchar *ret;
-  static gchar  str[3][64];
-  static gchar *cur;
-
-  ret = match_strval(val, vs);
-  if (ret != NULL)
-    return ret;
-  if (cur == &str[0][0]) {
-    cur = &str[1][0];
-  } else if (cur == &str[1][0]) {  
-    cur = &str[2][0];
-  } else {  
-    cur = &str[0][0];
-  }
-  snprintf(cur, 64, fmt, val);
-  return cur;
-}
-
-/* Tries to match val against each element in the value_string array vs.
-   Returns the associated string ptr on a match, or NULL on failure. */
-gchar*
-match_strval(guint32 val, const value_string *vs) {
-  gint i = 0;
-  
-  while (vs[i].strptr) {
-    if (vs[i].value == val)
-      return(vs[i].strptr);
-    i++;
-  }
-
-  return(NULL);
-}
-
-/* Generate a string describing an enumerated bitfield (an N-bit field
-   with various specific values having particular names). */
-const char *
-decode_enumerated_bitfield(guint32 val, guint32 mask, int width,
-    const value_string *tab, const char *fmt)
-{
-  static char buf[1025];
-  char *p;
-
-  p = decode_bitfield_value(buf, val, mask, width);
-  sprintf(p, fmt, val_to_str(val & mask, tab, "Unknown"));
-  return buf;
-}
-
 /* Allocate all the data structures for constructing column data, given
    the number of columns. */
 void
index 7b7fb84feec3522d3c9b0e29aa795ff68572e713..54335f7b529415270ada5f42e8d2f0198c339683 100644 (file)
@@ -1,7 +1,7 @@
 /* packet.h
  * Definitions for packet disassembly structures and routines
  *
- * $Id: packet.h,v 1.25 2001/04/01 02:47:55 hagbard Exp $
+ * $Id: packet.h,v 1.26 2001/04/01 03:18:41 hagbard Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -32,6 +32,7 @@
 #include "tvbuff.h"
 #include "pint.h"
 #include "to_str.h"
+#include "value_string.h"
 
 #define hi_nibble(b) (((b) & 0xf0) >> 4)
 #define lo_nibble(b) ((b) & 0x0f)
@@ -189,13 +190,6 @@ typedef struct _packet_info {
 
 extern packet_info pi;
 
-/* Struct for the match_strval function */
-
-typedef struct _value_string {
-  guint32  value;
-  gchar   *strptr;
-} value_string;
-
 /* Struct for boolean enumerations */
 typedef struct true_false_string {
        char    *true_string;
@@ -328,10 +322,6 @@ void call_dissector(dissector_handle_t handle, tvbuff_t *tvb,
     packet_info *pinfo, proto_tree *tree);
 
 /* Utility routines used by packet*.c */
-gchar*     val_to_str(guint32, const value_string *, const char *);
-gchar*     match_strval(guint32, const value_string*);
-const char *decode_enumerated_bitfield(guint32 val, guint32 mask, int width,
-  const value_string *tab, const char *fmt);
 
 void      col_set_writable(frame_data *fd, gboolean writable);
 gint       check_col(frame_data *, gint);
diff --git a/epan/value_string.c b/epan/value_string.c
new file mode 100644 (file)
index 0000000..66e0150
--- /dev/null
@@ -0,0 +1,90 @@
+/* value_string.c
+ * Routines for value_strings
+ *
+ * $Id: value_string.c,v 1.1 2001/04/01 03:18:41 hagbard Exp $
+ *
+ * Ethereal - Network traffic analyzer
+ * By Gerald Combs <gerald@zing.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * 
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <stdio.h>
+
+#ifdef NEED_SNPRINTF_H
+# include "snprintf.h"
+#endif
+#include "to_str.h"
+#include "value_string.h"
+
+/* Tries to match val against each element in the value_string array vs.
+   Returns the associated string ptr on a match.
+   Formats val with fmt, and returns the resulting string, on failure. */
+gchar*
+val_to_str(guint32 val, const value_string *vs, const char *fmt) {
+  gchar *ret;
+  static gchar  str[3][64];
+  static gchar *cur;
+
+  ret = match_strval(val, vs);
+  if (ret != NULL)
+    return ret;
+  if (cur == &str[0][0]) {
+    cur = &str[1][0];
+  } else if (cur == &str[1][0]) {  
+    cur = &str[2][0];
+  } else {  
+    cur = &str[0][0];
+  }
+  snprintf(cur, 64, fmt, val);
+  return cur;
+}
+
+/* Tries to match val against each element in the value_string array vs.
+   Returns the associated string ptr on a match, or NULL on failure. */
+gchar*
+match_strval(guint32 val, const value_string *vs) {
+  gint i = 0;
+  
+  while (vs[i].strptr) {
+    if (vs[i].value == val)
+      return(vs[i].strptr);
+    i++;
+  }
+
+  return(NULL);
+}
+
+/* Generate a string describing an enumerated bitfield (an N-bit field
+   with various specific values having particular names). */
+const char *
+decode_enumerated_bitfield(guint32 val, guint32 mask, int width,
+    const value_string *tab, const char *fmt)
+{
+  static char buf[1025];
+  char *p;
+
+  p = decode_bitfield_value(buf, val, mask, width);
+  sprintf(p, fmt, val_to_str(val & mask, tab, "Unknown"));
+  return buf;
+}
+
+
diff --git a/epan/value_string.h b/epan/value_string.h
new file mode 100644 (file)
index 0000000..b90d072
--- /dev/null
@@ -0,0 +1,44 @@
+/* value_string.h
+ * Definitions for value_string structures and routines
+ *
+ * $Id: value_string.h,v 1.1 2001/04/01 03:18:41 hagbard Exp $
+ *
+ * Ethereal - Network traffic analyzer
+ * By Gerald Combs <gerald@zing.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * 
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+
+#ifndef __VALUE_STRING_H__
+#define __VALUE_STRING_H__
+
+#include <glib.h>
+
+/* Struct for the match_strval function */
+
+typedef struct _value_string {
+  guint32  value;
+  gchar   *strptr;
+} value_string;
+
+gchar*     match_strval(guint32, const value_string*);
+
+gchar*     val_to_str(guint32, const value_string *, const char *);
+const char *decode_enumerated_bitfield(guint32 val, guint32 mask, int width,
+  const value_string *tab, const char *fmt);
+
+#endif /* __VALUE_STRING_H__ */