diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/utils.c | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/plugins/utils.c b/plugins/utils.c index 697b5a6..a4519f2 100644 --- a/plugins/utils.c +++ b/plugins/utils.c | |||
@@ -353,13 +353,7 @@ strip (char *buffer) | |||
353 | 353 | ||
354 | /****************************************************************************** | 354 | /****************************************************************************** |
355 | * | 355 | * |
356 | * Copies one string to another | 356 | * Copies one string to another. Any previously existing data in |
357 | * | ||
358 | * Given a pointer destination string, which may or may not already | ||
359 | * hold some text, and a source string with additional text (possibly | ||
360 | * NULL or empty), returns a pointer to a a copy of the source | ||
361 | * string. Uses realloc to free memory held by the dest argument if | ||
362 | * new storage space is required, and any previously existing data in | ||
363 | * the destination string is lost. | 357 | * the destination string is lost. |
364 | * | 358 | * |
365 | * Example: | 359 | * Example: |
@@ -375,17 +369,9 @@ strscpy (char *dest, const char *src) | |||
375 | size_t len; | 369 | size_t len; |
376 | 370 | ||
377 | if (src == NULL) | 371 | if (src == NULL) |
378 | return dest; | 372 | return NULL; |
379 | |||
380 | len = strlen (src) + 1; | ||
381 | if (dest == NULL) | ||
382 | dest = malloc (len); | ||
383 | else if (strlen (dest) < len) | ||
384 | dest = realloc (dest, len); | ||
385 | if (dest == NULL) | ||
386 | terminate (STATE_UNKNOWN, "failed realloc in strscpy\n"); | ||
387 | 373 | ||
388 | strncpy (dest, src, len); | 374 | asprintf (&dest, "%s", src); |
389 | 375 | ||
390 | return dest; | 376 | return dest; |
391 | } | 377 | } |