aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2013-02-08 18:07:34 +0000
committerGerald Combs <gerald@wireshark.org>2013-02-08 18:07:34 +0000
commitd21f62b73b84086173901da197fe15eaa4e9dcce (patch)
treed14fa98879d71abccd2c8f3003090565c1890326 /epan
parentc7525936983ae67912df1baffbddf60a2e69242b (diff)
Add a directory name preference type (PREF_DIRNAME) and registration
routine (prefs_register_directory_preference). Add PREF_FILENAME and PREF_DIRNAME support to the Qt module preferences. Change a couple of preferences to directory names. Clean up some names and default settings. svn path=/trunk/; revision=47573
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-etch.c6
-rw-r--r--epan/dissectors/packet-kerberos.c2
-rw-r--r--epan/libwireshark.def1
-rw-r--r--epan/prefs-int.h3
-rw-r--r--epan/prefs.c27
-rw-r--r--epan/prefs.h9
6 files changed, 42 insertions, 6 deletions
diff --git a/epan/dissectors/packet-etch.c b/epan/dissectors/packet-etch.c
index eb6884c5f6..4c0b22fe66 100644
--- a/epan/dissectors/packet-etch.c
+++ b/epan/dissectors/packet-etch.c
@@ -937,7 +937,7 @@ void proto_register_etch(void)
};
proto_etch = proto_register_protocol("Apache Etch Protocol", /* name */
- "ETCH", /* short name */
+ "Etch", /* short name */
"etch" /* abbrev */
);
@@ -950,14 +950,14 @@ void proto_register_etch(void)
etch_module = prefs_register_protocol(proto_etch,
proto_reg_handoff_etch);
- prefs_register_string_preference(etch_module, "file",
+ prefs_register_directory_preference(etch_module, "file",
"Apache Etch symbol folder",
"Place the hash/symbol files "
"(generated by the Apache Etch compiler) "
"ending with .ewh here",
&gbl_keytab_folder);
prefs_register_uint_preference(etch_module, "tcp.port",
- "etch TCP Port",
+ "Etch TCP Port",
"Etch TCP port",
10,
&gbl_etch_port);
diff --git a/epan/dissectors/packet-kerberos.c b/epan/dissectors/packet-kerberos.c
index a339ad4c9e..49df094702 100644
--- a/epan/dissectors/packet-kerberos.c
+++ b/epan/dissectors/packet-kerberos.c
@@ -384,7 +384,7 @@ call_kerberos_callbacks(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int
gboolean krb_decrypt = FALSE;
/* keytab filename */
-static const char *keytab_filename = "insert filename here";
+static const char *keytab_filename = "";
void read_keytab_file(const char *);
diff --git a/epan/libwireshark.def b/epan/libwireshark.def
index 75db51b5d8..8b24000988 100644
--- a/epan/libwireshark.def
+++ b/epan/libwireshark.def
@@ -743,6 +743,7 @@ prefs_pref_to_str
prefs_pref_type_description
prefs_pref_type_name
prefs_register_bool_preference
+prefs_register_directory_preference
prefs_register_enum_preference
prefs_register_filename_preference
prefs_register_modules
diff --git a/epan/prefs-int.h b/epan/prefs-int.h
index 2da275397a..46c19429f0 100644
--- a/epan/prefs-int.h
+++ b/epan/prefs-int.h
@@ -102,7 +102,8 @@ typedef enum {
PREF_FILENAME,
PREF_COLOR, /* XXX - These are only supported for "internal" (non-protocol) */
PREF_CUSTOM, /* use and not as a generic protocol preference */
- PREF_OBSOLETE
+ PREF_OBSOLETE,
+ PREF_DIRNAME
} pref_type_t;
/** Struct to hold preference data */
diff --git a/epan/prefs.c b/epan/prefs.c
index a8d30da05f..8e0c3feaa4 100644
--- a/epan/prefs.c
+++ b/epan/prefs.c
@@ -186,6 +186,7 @@ free_pref(gpointer data, gpointer user_data _U_)
break;
case PREF_STRING:
case PREF_FILENAME:
+ case PREF_DIRNAME:
g_free((char *)*pref->varp.string);
*pref->varp.string = NULL;
g_free(pref->default_val.string);
@@ -978,6 +979,18 @@ prefs_register_filename_preference(module_t *module, const char *name,
}
/*
+ * Register a preference with a directory name (string) value.
+ */
+void
+prefs_register_directory_preference(module_t *module, const char *name,
+ const char *title, const char *description,
+ const char **var)
+{
+ register_string_like_preference(module, name, title, description, var,
+ PREF_DIRNAME);
+}
+
+/*
* Register a preference with a ranged value.
*/
void
@@ -1989,7 +2002,7 @@ prefs_register_modules(void)
10,
&prefs.gui_recent_df_entries_max);
- prefs_register_string_preference(gui_module, "fileopen.dir", "Start Directory",
+ prefs_register_directory_preference(gui_module, "fileopen.dir", "Start Directory",
"Directory to start in when opening File Open dialog.", (const char**)(&prefs.gui_fileopen_dir));
prefs_register_obsolete_preference(gui_module, "fileopen.remembered_dir");
@@ -2714,6 +2727,7 @@ reset_pref(pref_t *pref)
case PREF_STRING:
case PREF_FILENAME:
+ case PREF_DIRNAME:
g_free((void *)*pref->varp.string);
*pref->varp.string = g_strdup(pref->default_val.string);
break;
@@ -3828,6 +3842,7 @@ set_pref(gchar *pref_name, const gchar *value, void *private_data _U_,
case PREF_STRING:
case PREF_FILENAME:
+ case PREF_DIRNAME:
if (strcmp(*pref->varp.string, value) != 0) {
module->prefs_changed = TRUE;
g_free((void *)*pref->varp.string);
@@ -3935,6 +3950,10 @@ prefs_pref_type_name(pref_t *pref)
type_name = "Filename";
break;
+ case PREF_DIRNAME:
+ type_name = "Directory";
+ break;
+
case PREF_RANGE:
type_name = "Range";
break;
@@ -4019,6 +4038,10 @@ prefs_pref_type_description(pref_t *pref)
type_desc = "A path to a file";
break;
+ case PREF_DIRNAME:
+ type_desc = "A path to a directory";
+ break;
+
case PREF_RANGE:
{
type_desc = "A string denoting an positive integer range (e.g., \"1-20,30-40\")";
@@ -4078,6 +4101,7 @@ prefs_pref_is_default(pref_t *pref) {
case PREF_STRING:
case PREF_FILENAME:
+ case PREF_DIRNAME:
if (!(g_strcmp0(pref->default_val.string, *pref->varp.string)))
return TRUE;
break;
@@ -4197,6 +4221,7 @@ prefs_pref_to_str(pref_t *pref, pref_source_t source) {
case PREF_STRING:
case PREF_FILENAME:
+ case PREF_DIRNAME:
return g_strdup(pref_string);
break;
diff --git a/epan/prefs.h b/epan/prefs.h
index 8b29860ca6..a2d569fadc 100644
--- a/epan/prefs.h
+++ b/epan/prefs.h
@@ -387,6 +387,15 @@ extern void prefs_register_filename_preference(module_t *module, const char *nam
const char *title, const char *description, const char **var);
/*
+ * Register a preference with a directory name (string) value.
+ * Directory name preferences are basically like string preferences
+ * except that the GUI gives the user the ability to browse for a
+ * directory.
+ */
+extern void prefs_register_directory_preference(module_t *module, const char *name,
+ const char *title, const char *description, const char **var);
+
+/*
* Register a preference with a ranged value.
*/
extern void prefs_register_range_preference(module_t *module, const char *name,