Dissector handle after [new_]register_dissector can be get by find_dissector() so to avoid some extra calls just return it.

svn path=/trunk/; revision=51154
This commit is contained in:
Jakub Zawadzki 2013-08-05 17:23:47 +00:00
parent 21d5a76a68
commit b53052c6de
2 changed files with 8 additions and 4 deletions

View File

@ -1996,7 +1996,7 @@ new_create_dissector_handle(new_dissector_t dissector, const int proto)
}
/* Register a dissector by name. */
void
dissector_handle_t
register_dissector(const char *name, dissector_t dissector, const int proto)
{
struct dissector_handle *handle;
@ -2018,9 +2018,11 @@ register_dissector(const char *name, dissector_t dissector, const int proto)
g_hash_table_insert(registered_dissectors, (gpointer)name,
(gpointer) handle);
return handle;
}
void
dissector_handle_t
new_register_dissector(const char *name, new_dissector_t dissector, const int proto)
{
struct dissector_handle *handle;
@ -2042,6 +2044,8 @@ new_register_dissector(const char *name, new_dissector_t dissector, const int pr
g_hash_table_insert(registered_dissectors, (gpointer)name,
(gpointer) handle);
return handle;
}
/* Call a dissector through a handle but if the dissector rejected it

View File

@ -304,9 +304,9 @@ WS_DLL_PUBLIC void heur_dissector_delete(const char *name, heur_dissector_t diss
extern void heur_dissector_set_enabled(const char *name, heur_dissector_t dissector, const int proto, const gboolean enabled);
/* Register a dissector. */
WS_DLL_PUBLIC void register_dissector(const char *name, dissector_t dissector,
WS_DLL_PUBLIC dissector_handle_t register_dissector(const char *name, dissector_t dissector,
const int proto);
WS_DLL_PUBLIC void new_register_dissector(const char *name, new_dissector_t dissector,
WS_DLL_PUBLIC dissector_handle_t new_register_dissector(const char *name, new_dissector_t dissector,
const int proto);
/* Get the long name of the protocol for a dissector handle. */