Skip to content

Commit 895ea12

Browse files
committed
Switch to using strlen to find string length
1 parent fa6d19e commit 895ea12

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

make-binary-wrapper.sh

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ makeCWrapper() {
8383

8484
printf "%s\n" "#include <unistd.h>"
8585
printf "%s\n" "#include <stdlib.h>"
86+
[ -z "$uses_concat3" ] || printf "%s\n" "#include <string.h>"
8687
[ -z "$uses_concat3" ] || printf "\n%s\n" "$(concat3Fn)"
8788
[ -z "$uses_prefix" ] || printf "\n%s\n" "$(setEnvPrefixFn)"
8889
[ -z "$uses_suffix" ] || printf "\n%s\n" "$(setEnvSuffixFn)"
@@ -165,9 +166,9 @@ escapeStringLiteral() {
165166

166167
concat3Fn() {
167168
printf "%s\n" 'char *concat3(char *x, char *y, char *z) {'
168-
printf "%s\n" ' int xn = 0; while(x[++xn]);'
169-
printf "%s\n" ' int yn = 0; while(y[++yn]);'
170-
printf "%s\n" ' int zn = 0; while(z[++zn]);'
169+
printf "%s\n" ' int xn = strlen(x);'
170+
printf "%s\n" ' int yn = strlen(y);'
171+
printf "%s\n" ' int zn = strlen(z);'
171172
printf "%s\n" ' char *res = malloc(sizeof(*res)*(xn + yn + zn + 1));'
172173
printf "%s\n" ' for (int i = 0; i < xn; ++i) res[i] = x[i];'
173174
printf "%s\n" ' for (int i = 0; i < yn; ++i) res[xn+i] = y[i];'
@@ -193,4 +194,4 @@ setEnvSuffixFn() {
193194
printf "%s\n" ' setenv(env, val, 1);'
194195
printf "%s\n" ' if (existing) free(val);'
195196
printf "%s\n" '}'
196-
}
197+
}

0 commit comments

Comments
 (0)