4 #include "../api/str.h"
6 UwUVMValue uwu_cat(UwUVMArgs *args)
9 size_t lengths[args->num];
10 char *substrs[args->num];
12 for (size_t i = 0; i < args->num; i++) {
13 substrs[i] = uwustr_get(uwuvm_get_arg(args, i));
14 lengths[i] = strlen(substrs[i]);
15 total_len += lengths[i];
18 char result[total_len + 1];
19 char *result_ptr = result;
21 for (size_t i = 0; i < args->num; i++) {
22 strcpy(result_ptr, substrs[i]);
24 result_ptr += lengths[i];
29 return uwustr_create(result);