From 3c2a749a7ef6df845063867ff69b12276ba09800 Mon Sep 17 00:00:00 2001 From: hunt Date: Wed, 10 Jan 2007 15:07:25 +0000 Subject: 2007-01-10 Martin Hunt PR 3708 * map.c (str_copy): Check for NULL pointers. (_new_map_set_int64): Don't check val for 0. (_new_map_set_str): Don't check val for NULL. * map-gen.c (VAL_IS_ZERO): Removed. (_stp_map_del): New. (__stp_map_set): Don't check for zero. * pmap-gen.c (VAL_IS_ZERO): Removed. (_stp_pmap_del): New. (__stp_pmap_set): Don't check for zero. --- runtime/map.c | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) (limited to 'runtime/map.c') diff --git a/runtime/map.c b/runtime/map.c index 843a8543..cb866ffe 100644 --- a/runtime/map.c +++ b/runtime/map.c @@ -39,10 +39,13 @@ int int64_eq_p (int64_t key1, int64_t key2) void str_copy(char *dest, char *src) { - int len = strlen(src); - if (len > MAP_STRING_LENGTH - 1) - len = MAP_STRING_LENGTH - 1; - memcpy (dest, src, len); + int len = 0; + if (src) { + len = strlen(src); + if (len > MAP_STRING_LENGTH - 1) + len = MAP_STRING_LENGTH - 1; + memcpy (dest, src, len); + } dest[len] = 0; } @@ -974,12 +977,11 @@ static int _new_map_set_int64 (MAP map, struct map_node *n, int64_t val, int add if (map == NULL || n == NULL) return -2; - if (val || map->list) { - if (add) - *(int64_t *)((long)n + map->data_offset) += val; - else - *(int64_t *)((long)n + map->data_offset) = val; - } + if (add) + *(int64_t *)((long)n + map->data_offset) += val; + else + *(int64_t *)((long)n + map->data_offset) = val; + return 0; } @@ -988,12 +990,11 @@ static int _new_map_set_str (MAP map, struct map_node *n, char *val, int add) if (map == NULL || n == NULL) return -2; - if ((val && *val)|| map->list) { - if (add) - str_add((void *)((long)n + map->data_offset), val); - else - str_copy((void *)((long)n + map->data_offset), val); - } + if (add) + str_add((void *)((long)n + map->data_offset), val); + else + str_copy((void *)((long)n + map->data_offset), val); + return 0; } -- cgit