Module Name: src Committed By: joerg Date: Fri Oct 7 10:38:03 UTC 2011
Modified Files: src/external/bsd/tmux/dist: cmd-string.c Log Message: Optimise by simplifying. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/external/bsd/tmux/dist/cmd-string.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/bsd/tmux/dist/cmd-string.c diff -u src/external/bsd/tmux/dist/cmd-string.c:1.3 src/external/bsd/tmux/dist/cmd-string.c:1.4 --- src/external/bsd/tmux/dist/cmd-string.c:1.3 Wed Aug 17 18:48:36 2011 +++ src/external/bsd/tmux/dist/cmd-string.c Fri Oct 7 10:38:02 2011 @@ -1,4 +1,4 @@ -/* $Id: cmd-string.c,v 1.3 2011/08/17 18:48:36 jmmv Exp $ */ +/* $Id: cmd-string.c,v 1.4 2011/10/07 10:38:02 joerg Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott <n...@users.sourceforge.net> @@ -64,7 +64,7 @@ cmd_string_parse(const char *s, struct c int ch, i, argc, rval; char **argv, *buf, *t; const char *whitespace, *equals; - size_t len; + size_t len, len2; argv = NULL; argc = 0; @@ -84,25 +84,28 @@ cmd_string_parse(const char *s, struct c case '\'': if ((t = cmd_string_string(s, &p, '\'', 0)) == NULL) goto error; - buf = xrealloc(buf, 1, len + strlen(t) + 1); - strlcpy(buf + len, t, strlen(t) + 1); - len += strlen(t); + len2 = strlen(t); + buf = xrealloc(buf, 1, len + len2 + 1); + memcpy(buf + len, t, len2 + 1); + len += len2; xfree(t); break; case '"': if ((t = cmd_string_string(s, &p, '"', 1)) == NULL) goto error; - buf = xrealloc(buf, 1, len + strlen(t) + 1); - strlcpy(buf + len, t, strlen(t) + 1); - len += strlen(t); + len2 = strlen(t); + buf = xrealloc(buf, 1, len + len2 + 1); + memcpy(buf + len, t, len2 + 1); + len += len2; xfree(t); break; case '$': if ((t = cmd_string_variable(s, &p)) == NULL) goto error; - buf = xrealloc(buf, 1, len + strlen(t) + 1); - strlcpy(buf + len, t, strlen(t) + 1); - len += strlen(t); + len2 = strlen(t); + buf = xrealloc(buf, 1, len + len2 + 1); + strlcpy(buf + len, t, len2 + 1); + len += len2; xfree(t); break; case '#': @@ -149,9 +152,10 @@ cmd_string_parse(const char *s, struct c if (buf == NULL) { if ((t = cmd_string_expand_tilde(s, &p)) == NULL) goto error; - buf = xrealloc(buf, 1, len + strlen(t) + 1); - strlcpy(buf + len, t, strlen(t) + 1); - len += strlen(t); + len2 = strlen(t); + buf = xrealloc(buf, 1, len + len2 + 1); + memcpy(buf + len, t, len2 + 1); + len += len2; xfree(t); break; } @@ -187,7 +191,7 @@ cmd_string_string(const char *s, size_t { int ch; char *buf, *t; - size_t len; + size_t len, len2; buf = NULL; len = 0; @@ -221,9 +225,10 @@ cmd_string_string(const char *s, size_t break; if ((t = cmd_string_variable(s, p)) == NULL) goto error; - buf = xrealloc(buf, 1, len + strlen(t) + 1); - strlcpy(buf + len, t, strlen(t) + 1); - len += strlen(t); + len2 = strlen(t); + buf = xrealloc(buf, 1, len + len2 + 1); + memcpy(buf + len, t, len2 + 1); + len += len2; xfree(t); continue; }