diff options
-rw-r--r-- | libidu/dynvec.c | 8 | ||||
-rw-r--r-- | libidu/scanners.c | 2 | ||||
-rw-r--r-- | libidu/walker.c | 9 |
3 files changed, 10 insertions, 9 deletions
diff --git a/libidu/dynvec.c b/libidu/dynvec.c index 8a9c20c..2326291 100644 --- a/libidu/dynvec.c +++ b/libidu/dynvec.c @@ -1,5 +1,5 @@ /* dynvec.c -- dynamically growable vectors - Copyright (C) 1995, 2007 Free Software Foundation, Inc. + Copyright (C) 1995, 2007-2008 Free Software Foundation, Inc. Written by Greg McGary <gkm@gnu.ai.mit.edu> This program is free software; you can redistribute it and/or modify @@ -25,7 +25,7 @@ struct dynvec * make_dynvec (int n) { struct dynvec *dv = xmalloc (sizeof(struct dynvec) * 1); - dv->dv_vec = xmalloc (sizeof(void *) * n); + dv->dv_vec = xnmalloc (n, sizeof *dv->dv_vec); dv->dv_capacity = n; dv->dv_fill = 0; return dv; @@ -44,7 +44,7 @@ dynvec_freeze (struct dynvec *dv) if (dv->dv_fill == dv->dv_capacity) return; dv->dv_capacity = dv->dv_fill; - dv->dv_vec = xrealloc (dv->dv_vec, sizeof(void *) * dv->dv_capacity); + dv->dv_vec = xnrealloc (dv->dv_vec, dv->dv_capacity, sizeof *dv->dv_vec); } void @@ -53,7 +53,7 @@ dynvec_append (struct dynvec *dv, void *element) if (dv->dv_fill == dv->dv_capacity) { dv->dv_capacity *= 2; - dv->dv_vec = xrealloc (dv->dv_vec, sizeof(void *) * dv->dv_capacity); + dv->dv_vec = xnrealloc (dv->dv_vec, dv->dv_capacity, sizeof *dv->dv_vec); } dv->dv_vec[dv->dv_fill++] = element; } diff --git a/libidu/scanners.c b/libidu/scanners.c index c29b649..5789baa 100644 --- a/libidu/scanners.c +++ b/libidu/scanners.c @@ -307,7 +307,7 @@ tokenize_args_string (char *args_string, int *argcp, char ***argvp) arg = strsep (&args_string, horizontal_space); } *argcp = argv - argv_0; - *argvp = xrealloc (argv_0, sizeof(char *) * (*argcp)); + *argvp = xnrealloc (argv_0, *argcp, sizeof **argvp); } static void diff --git a/libidu/walker.c b/libidu/walker.c index 30f826e..921421c 100644 --- a/libidu/walker.c +++ b/libidu/walker.c @@ -510,16 +510,17 @@ append_strings_to_vector (char **vector_0, char *string, char const *delimiter_c if (vector_0) { int length = vector_length (vector_0); - vector_0 = xrealloc (vector_0, sizeof(char *) * (length + 2 + strlen (string) / 2)); + vector_0 = xnrealloc (vector_0, length + 2 + strlen (string) / 2, + sizeof *vector_0); vector = &vector_0[length]; } else - vector = vector_0 = xmalloc (sizeof(char *) * (2 + strlen (string) / 2)); + vector = vector_0 = xnmalloc (2 + strlen (string) / 2, sizeof *vector); do *vector = strsep (&string, delimiter_class); while (*vector++); - return xrealloc (vector_0, sizeof(char *) * (vector - vector_0)); + return xnrealloc (vector_0, vector - vector_0, sizeof *vector_0); } int @@ -701,7 +702,7 @@ vectorize_string (char *string, char const *delimiter_class) *vector = strsep (&string, delimiter_class); while (*vector++); } - return xrealloc (vector_0, sizeof(char *) * (vector - vector_0)); + return xnrealloc (vector_0, vector - vector_0, sizeof *vector_0); } void |