Add function "hashtable_has_key" in WeeChat and plugin API
parent
b9d6c5c5a0
commit
f32e18c717
|
@ -2980,6 +2980,43 @@ void *value = weechat_hashtable_get (hashtable, "my_key");
|
|||
[NOTE]
|
||||
This function is not available in scripting API.
|
||||
|
||||
weechat_hashtable_has_key
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
_New in version 0.3.4._
|
||||
|
||||
Return 1 if hashtable has key, otherwise 0.
|
||||
|
||||
Prototype:
|
||||
|
||||
[source,C]
|
||||
----------------------------------------
|
||||
int weechat_hashtable_has_key (struct t_hashtable *hashtable, void *key);
|
||||
----------------------------------------
|
||||
|
||||
Arguments:
|
||||
|
||||
* 'hashtable': hashtable pointer
|
||||
* 'key': key pointer
|
||||
|
||||
Return value:
|
||||
|
||||
* 1 if key is in hashtable, 0 if key is not in hashtable
|
||||
|
||||
C example:
|
||||
|
||||
[source,C]
|
||||
----------------------------------------
|
||||
if (weechat_hashtable_has_key (hashtable, "my_key"))
|
||||
{
|
||||
/* key is in hashtable */
|
||||
/* ... */
|
||||
}
|
||||
----------------------------------------
|
||||
|
||||
[NOTE]
|
||||
This function is not available in scripting API.
|
||||
|
||||
weechat_hashtable_map
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
|
|
@ -3011,6 +3011,43 @@ void *value = weechat_hashtable_get (hashtable, "ma_cle");
|
|||
[NOTE]
|
||||
Cette fonction n'est pas disponible dans l'API script.
|
||||
|
||||
weechat_hashtable_has_key
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
_Nouveau dans la version 0.3.4._
|
||||
|
||||
Retourne 1 si la clé est dans la hashtable, sinon 0.
|
||||
|
||||
Prototype :
|
||||
|
||||
[source,C]
|
||||
----------------------------------------
|
||||
int weechat_hashtable_has_key (struct t_hashtable *hashtable, void *key);
|
||||
----------------------------------------
|
||||
|
||||
Paramètres :
|
||||
|
||||
* 'hashtable' : pointeur vers la hashtable
|
||||
* 'key' : pointeur vers la clé
|
||||
|
||||
Valeur en retour :
|
||||
|
||||
* 1 si la clé est dans la hashtable, 0 si la clé n'est pas dans la hashtable
|
||||
|
||||
Exemple en C :
|
||||
|
||||
[source,C]
|
||||
----------------------------------------
|
||||
if (weechat_hashtable_has_key (hashtable, "ma_cle"))
|
||||
{
|
||||
/* la clé est dans la hashtable */
|
||||
/* ... */
|
||||
}
|
||||
----------------------------------------
|
||||
|
||||
[NOTE]
|
||||
Cette fonction n'est pas disponible dans l'API script.
|
||||
|
||||
weechat_hashtable_map
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
|
|
@ -3013,6 +3013,46 @@ void *value = weechat_hashtable_get (hashtable, "my_key");
|
|||
[NOTE]
|
||||
Questa funzione non è disponibile nelle API per lo scripting.
|
||||
|
||||
weechat_hashtable_has_key
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
_Novità nella versione 0.3.4._
|
||||
|
||||
// TRANSLATION MISSING
|
||||
Return 1 if hashtable has key, otherwise 0.
|
||||
|
||||
Prototipo:
|
||||
|
||||
[source,C]
|
||||
----------------------------------------
|
||||
int weechat_hashtable_has_key (struct t_hashtable *hashtable, void *key);
|
||||
----------------------------------------
|
||||
|
||||
Argomenti:
|
||||
|
||||
* 'hashtable': puntatore alla tabella hash
|
||||
* 'key': puntatore alla chiave
|
||||
|
||||
Valore restituito:
|
||||
|
||||
// TRANSLATION MISSING
|
||||
* 1 if key is in hashtable, 0 if key is not in hashtable
|
||||
|
||||
Esempio in C:
|
||||
|
||||
// TRANSLATION MISSING
|
||||
[source,C]
|
||||
----------------------------------------
|
||||
if (weechat_hashtable_has_key (hashtable, "my_key"))
|
||||
{
|
||||
/* key is in hashtable */
|
||||
/* ... */
|
||||
}
|
||||
----------------------------------------
|
||||
|
||||
[NOTE]
|
||||
This function is not available in scripting API.
|
||||
|
||||
weechat_hashtable_map
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
|
|
@ -374,6 +374,16 @@ hashtable_get (struct t_hashtable *hashtable, const void *key)
|
|||
return (ptr_item) ? ptr_item->value : NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* hashtable_has_key: return 1 if key is in hashtable, otherwise 0
|
||||
*/
|
||||
|
||||
int
|
||||
hashtable_has_key (struct t_hashtable *hashtable, const void *key)
|
||||
{
|
||||
return (hashtable_get_item (hashtable, key, NULL) != NULL) ? 1 : 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* hashtable_map: call a function on all hashtable entries
|
||||
*/
|
||||
|
|
|
@ -113,6 +113,7 @@ extern int hashtable_set_with_size (struct t_hashtable *hashtable,
|
|||
extern int hashtable_set (struct t_hashtable *hashtable, void *key,
|
||||
void *value);
|
||||
extern void *hashtable_get (struct t_hashtable *hashtable, const void *key);
|
||||
extern int hashtable_has_key (struct t_hashtable *hashtable, const void *key);
|
||||
extern void hashtable_map (struct t_hashtable *hashtable,
|
||||
t_hashtable_map *callback_map,
|
||||
void *callback_map_data);
|
||||
|
|
|
@ -525,6 +525,7 @@ plugin_load (const char *filename)
|
|||
new_plugin->hashtable_set_with_size = &hashtable_set_with_size;
|
||||
new_plugin->hashtable_set = &hashtable_set;
|
||||
new_plugin->hashtable_get = &hashtable_get;
|
||||
new_plugin->hashtable_has_key = &hashtable_has_key;
|
||||
new_plugin->hashtable_map = &hashtable_map;
|
||||
new_plugin->hashtable_get_integer = &hashtable_get_integer;
|
||||
new_plugin->hashtable_get_string = &hashtable_get_string;
|
||||
|
|
|
@ -45,7 +45,7 @@ struct timeval;
|
|||
*/
|
||||
|
||||
/* API version (used to check that plugin has same API and can be loaded) */
|
||||
#define WEECHAT_PLUGIN_API_VERSION "20100827-01"
|
||||
#define WEECHAT_PLUGIN_API_VERSION "20101011-01"
|
||||
|
||||
/* macros for defining plugin infos */
|
||||
#define WEECHAT_PLUGIN_NAME(__name) \
|
||||
|
@ -265,6 +265,7 @@ struct t_weechat_plugin
|
|||
int (*hashtable_set) (struct t_hashtable *hashtable, void *key,
|
||||
void *value);
|
||||
void *(*hashtable_get) (struct t_hashtable *hashtable, const void *key);
|
||||
int (*hashtable_has_key) (struct t_hashtable *hashtable, const void *key);
|
||||
void (*hashtable_map) (struct t_hashtable *hashtable,
|
||||
void (*callback_map) (void *data,
|
||||
struct t_hashtable *hashtable,
|
||||
|
@ -896,6 +897,8 @@ extern int weechat_plugin_end (struct t_weechat_plugin *plugin);
|
|||
weechat_plugin->hashtable_set(__hashtable, __key, __value)
|
||||
#define weechat_hashtable_get(__hashtable, __key) \
|
||||
weechat_plugin->hashtable_get(__hashtable, __key)
|
||||
#define weechat_hashtable_has_key(__hashtable, __key) \
|
||||
weechat_plugin->hashtable_has_key(__hashtable, __key)
|
||||
#define weechat_hashtable_map(__hashtable, __cb_map, __cb_map_data) \
|
||||
weechat_plugin->hashtable_map(__hashtable, __cb_map, __cb_map_data)
|
||||
#define weechat_hashtable_get_integer(__hashtable, __property) \
|
||||
|
|
Loading…
Reference in New Issue