r25214: use talloc_strndup_append() instead of talloc_append_string()
authorStefan Metzmacher <metze@samba.org>
Tue, 18 Sep 2007 13:33:44 +0000 (13:33 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 20:06:55 +0000 (15:06 -0500)
and ugly hacks to handle the string termination.

metze
(This used to be commit 32bb276920d3f6987427613c6f1bc71557d8893e)

source4/scripting/ejs/literal.c

index d50e5afdb916e97281c7f36d00cf0ebe39115faf..8307c211d3e6a3de354950259c187f67b51f3953 100644 (file)
@@ -132,27 +132,11 @@ static void *append_string(void *ctx,
                            char *append,
                            int size)
 {
-    char c;
-    char *end_p = append + size;
-    void *ret;
+       if (!orig) {
+               return talloc_strndup(ctx, append, size);
+       }
 
-    /*
-     * We need to null terminate the string to be copied.  Save character at
-     * the size limit of the source string.
-     */
-    c = *end_p;
-
-    /* Temporarily null-terminate it */
-    *end_p = '\0';
-
-    /* Append the requested data */
-    ret = talloc_append_string(ctx, orig, append);
-    
-    /* Restore the original character in place of our temporary null byte */
-    *end_p = c;
-
-    /* Give 'em what they came for */
-    return ret;
+       return talloc_strndup_append(orig, append, size);
 }