aboutsummaryrefslogtreecommitdiff
path: root/miscutils
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2023-04-23 09:00:04 +0100
committerRon Yorston <rmy@pobox.com>2023-04-23 09:04:01 +0100
commit0575aaaa0779812752427badbc0f80a09aac02a4 (patch)
tree350b636dad1766e43d1d0c7d132a895c3cc2a628 /miscutils
parent7b81a44c87cf71dfb4f647ba107624e208ffbefe (diff)
downloadbusybox-w32-0575aaaa0779812752427badbc0f80a09aac02a4.tar.gz
busybox-w32-0575aaaa0779812752427badbc0f80a09aac02a4.tar.bz2
busybox-w32-0575aaaa0779812752427badbc0f80a09aac02a4.zip
win32: export xappendword()
Export the function xappendword() from make. Use it in drop and watch. Saves 8-80 bytes, an unusually large disparity.
Diffstat (limited to 'miscutils')
-rw-r--r--miscutils/drop.c4
-rw-r--r--miscutils/make.c13
2 files changed, 1 insertions, 16 deletions
diff --git a/miscutils/drop.c b/miscutils/drop.c
index db3d709d1..342de41d6 100644
--- a/miscutils/drop.c
+++ b/miscutils/drop.c
@@ -165,10 +165,8 @@ int drop_main(int argc, char **argv)
165 // Build the command line 165 // Build the command line
166 while (*a) { 166 while (*a) {
167 char *q = quote_arg(*a++); 167 char *q = quote_arg(*a++);
168 char *newcmd = xasprintf("%s %s", cmd, q); 168 cmd = xappendword(cmd, q);
169 free(q); 169 free(q);
170 free(cmd);
171 cmd = newcmd;
172 } 170 }
173 171
174 ZeroMemory(&si, sizeof(STARTUPINFO)); 172 ZeroMemory(&si, sizeof(STARTUPINFO));
diff --git a/miscutils/make.c b/miscutils/make.c
index eddc07126..07d824752 100644
--- a/miscutils/make.c
+++ b/miscutils/make.c
@@ -333,19 +333,6 @@ auto_concat(const char *s1, const char *s2)
333 return auto_string(xasprintf("%s%s", s1, s2)); 333 return auto_string(xasprintf("%s%s", s1, s2));
334} 334}
335 335
336/*
337 * Append a word to a space-separated string of words. The first
338 * call should use a NULL pointer for str, subsequent calls should
339 * pass an allocated string which will be freed.
340 */
341static char *
342xappendword(const char *str, const char *word)
343{
344 char *newstr = str ? xasprintf("%s %s", str, word) : xstrdup(word);
345 free((void *)str);
346 return newstr;
347}
348
349static unsigned int 336static unsigned int
350getbucket(const char *name) 337getbucket(const char *name)
351{ 338{