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 <[email protected]>
@@ -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;
}