1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-08 00:33:13 -08:00

Use strnlen to avoid unnecessary work in pgtkfns.c

* src/pgtkfns.c (pgtk_get_defaults_value, pgtk_set_defaults_value):
Factor out new function...
(pgtk_check_resource_key_length): ...to here.  Avoid unnecessary work by
using strnlen.
This commit is contained in:
Stefan Kangas 2024-07-16 04:34:53 +02:00
parent a90a1ed527
commit d00a10333f

View file

@ -1901,13 +1901,19 @@ parse_resource_key (const char *res_key, char *setting_key)
return gs;
}
static void
pgtk_check_resource_key_length (const char *key)
{
if (strnlen (key, RESOURCE_KEY_MAX_LEN) >= RESOURCE_KEY_MAX_LEN)
error ("Resource key too long");
}
const char *
pgtk_get_defaults_value (const char *key)
{
char skey[(RESOURCE_KEY_MAX_LEN + 1) * 2];
if (strlen (key) >= RESOURCE_KEY_MAX_LEN)
error ("Resource key too long");
pgtk_check_resource_key_length (key);
GSettings *gs = parse_resource_key (key, skey);
if (gs == NULL)
@ -1936,8 +1942,7 @@ pgtk_set_defaults_value (const char *key, const char *value)
{
char skey[(RESOURCE_KEY_MAX_LEN + 1) * 2];
if (strlen (key) >= RESOURCE_KEY_MAX_LEN)
error ("Resource key too long");
pgtk_check_resource_key_length (key);
GSettings *gs = parse_resource_key (key, skey);
if (gs == NULL)