From 3df0d2d4d3ee8b91b59e678ef553ecda7810dc70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Helleu?= Date: Sat, 20 Jun 2026 11:32:44 +0200 Subject: [PATCH] trigger: use util functions to parse integers --- src/plugins/trigger/trigger.c | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/src/plugins/trigger/trigger.c b/src/plugins/trigger/trigger.c index b9735734c..53e4fce1a 100644 --- a/src/plugins/trigger/trigger.c +++ b/src/plugins/trigger/trigger.c @@ -303,10 +303,9 @@ void trigger_hook (struct t_trigger *trigger) { char **argv, **argv_eol, *buffer_type, *buffer_name, *tags, *message; - char *error1, *error2, *error3; char *eval_desc, *eval_args, *eval_desc_args, *eval_completion; - int i, argc, strip_colors; - long interval, align_second, max_calls; + int i, argc, align_second, max_calls, strip_colors; + long interval; struct t_hashtable *extra_vars; if (!weechat_config_boolean (trigger->options[TRIGGER_OPTION_ENABLED])) @@ -488,17 +487,11 @@ trigger_hook (struct t_trigger *trigger) case TRIGGER_HOOK_TIMER: if (argv && (argc >= 1)) { - error1 = NULL; - error2 = NULL; - error3 = NULL; - interval = strtol (argv[0], &error1, 10); - align_second = strtol ((argc >= 2) ? argv[1] : "0", &error2, 10); - max_calls = strtol ((argc >= 3) ? argv[2] : "0", &error3, 10); - if (error1 && !error1[0] - && error2 && !error2[0] - && error3 && !error3[0] + if (weechat_util_parse_long (argv[0], 10, &interval) && (interval > 0) + && weechat_util_parse_int ((argc >= 2) ? argv[1] : "0", 10, &align_second) && (align_second >= 0) + && weechat_util_parse_int ((argc >= 3) ? argv[2] : "0", 10, &max_calls) && (max_calls >= 0)) { trigger->hooks = malloc (sizeof (trigger->hooks[0])); @@ -507,8 +500,8 @@ trigger_hook (struct t_trigger *trigger) trigger->hooks_count = 1; trigger->hooks[0] = weechat_hook_timer ( interval, - (int)align_second, - (int)max_calls, + align_second, + max_calls, &trigger_callback_timer_cb, trigger, NULL); }