1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-12 14:14:48 +02:00

core, plugins: replace "%p" by "%lx" in calls to sscanf

This commit is contained in:
Sébastien Helleu
2025-05-15 20:08:26 +02:00
parent de7150c65b
commit 72dce52901
4 changed files with 14 additions and 6 deletions
+3 -1
View File
@@ -1153,6 +1153,7 @@ char *
eval_hdata_count (const char *text, struct t_eval_context *eval_context) eval_hdata_count (const char *text, struct t_eval_context *eval_context)
{ {
struct t_hdata *hdata; struct t_hdata *hdata;
unsigned long ptr_value;
void *pointer; void *pointer;
char *pos1, *pos2, *value, *hdata_name, *pointer_name, str_count[64]; char *pos1, *pos2, *value, *hdata_name, *pointer_name, str_count[64];
int rc, count; int rc, count;
@@ -1183,9 +1184,10 @@ eval_hdata_count (const char *text, struct t_eval_context *eval_context)
if (strncmp (pointer_name, "0x", 2) == 0) if (strncmp (pointer_name, "0x", 2) == 0)
{ {
rc = sscanf (pointer_name, "%p", &pointer); rc = sscanf (pointer_name, "%lx", &ptr_value);
if ((rc != EOF) && (rc != 0)) if ((rc != EOF) && (rc != 0))
{ {
pointer = (void *)ptr_value;
if (!hdata_check_pointer (hdata, NULL, pointer)) if (!hdata_check_pointer (hdata, NULL, pointer))
goto end; goto end;
} }
+4 -1
View File
@@ -268,6 +268,7 @@ relay_modifier_input_text_display_cb (const void *pointer,
{ {
struct t_gui_buffer *ptr_buffer; struct t_gui_buffer *ptr_buffer;
struct t_relay_remote *ptr_remote; struct t_relay_remote *ptr_remote;
unsigned long value;
const char *ptr_input, *ptr_text_local, *ptr_text_remote; const char *ptr_input, *ptr_text_local, *ptr_text_remote;
char *text, *new_input; char *text, *new_input;
int rc, input_get_any_user_data; int rc, input_get_any_user_data;
@@ -283,10 +284,12 @@ relay_modifier_input_text_display_cb (const void *pointer,
if (!relay_remotes) if (!relay_remotes)
return NULL; return NULL;
rc = sscanf (modifier_data, "%p", &ptr_buffer); rc = sscanf (modifier_data, "%lx", &value);
if ((rc == EOF) || (rc == 0)) if ((rc == EOF) || (rc == 0))
return NULL; return NULL;
ptr_buffer = (struct t_gui_buffer *)value;
if (weechat_buffer_get_pointer (ptr_buffer, "plugin") != weechat_plugin) if (weechat_buffer_get_pointer (ptr_buffer, "plugin") != weechat_plugin)
return NULL; return NULL;
+3 -3
View File
@@ -813,9 +813,9 @@ trigger_callback_modifier_cb (const void *pointer, void *data,
const char *ptr_string; const char *ptr_string;
char *string_modified, *pos, *buffer_pointer; char *string_modified, *pos, *buffer_pointer;
char *str_tags, **tags, *prefix, *string_no_color; char *str_tags, **tags, *prefix, *string_no_color;
unsigned long value;
int num_tags, rc; int num_tags, rc;
void *ptr_irc_server, *ptr_irc_channel; void *ptr_irc_server, *ptr_irc_channel;
struct t_gui_buffer *ptr_buffer;
TRIGGER_CALLBACK_CB_INIT(NULL); TRIGGER_CALLBACK_CB_INIT(NULL);
@@ -928,10 +928,10 @@ trigger_callback_modifier_cb (const void *pointer, void *data,
pos - modifier_data); pos - modifier_data);
if (buffer_pointer) if (buffer_pointer)
{ {
rc = sscanf (buffer_pointer, "%p", &ptr_buffer); rc = sscanf (buffer_pointer, "%lx", &value);
if ((rc != EOF) && (rc != 0)) if ((rc != EOF) && (rc != 0))
{ {
ctx.buffer = ptr_buffer; ctx.buffer = (struct t_gui_buffer *)value;
weechat_hashtable_set ( weechat_hashtable_set (
ctx.extra_vars, ctx.extra_vars,
"tg_plugin", "tg_plugin",
+4 -1
View File
@@ -63,6 +63,7 @@ test_modifier_cb (const void *pointer, void *data,
char **items, *new_string; char **items, *new_string;
const char *ptr_plugin, *ptr_tags, *ptr_msg; const char *ptr_plugin, *ptr_tags, *ptr_msg;
int num_items, length, rc; int num_items, length, rc;
unsigned long value;
struct t_gui_buffer *ptr_buffer; struct t_gui_buffer *ptr_buffer;
/* make C++ compiler happy */ /* make C++ compiler happy */
@@ -83,10 +84,12 @@ test_modifier_cb (const void *pointer, void *data,
ptr_tags = (num_items >= 2) ? items[1] : NULL; ptr_tags = (num_items >= 2) ? items[1] : NULL;
rc = sscanf (items[0], "%p", &ptr_buffer); rc = sscanf (items[0], "%lx", &value);
if ((rc == EOF) || (rc == 0)) if ((rc == EOF) || (rc == 0))
goto error; goto error;
ptr_buffer = (struct t_gui_buffer *)value;
ptr_plugin = gui_buffer_get_plugin_name (ptr_buffer); ptr_plugin = gui_buffer_get_plugin_name (ptr_buffer);
if (!ptr_plugin) if (!ptr_plugin)
goto error; goto error;