7 UwUVMValue uwu_cat(UwUVMArgs *args)
10 size_t lengths[args->num];
11 char *substrs[args->num];
13 for (size_t i = 0; i < args->num; i++) {
14 substrs[i] = uwustr_get(uwuvm_get_arg(args, i));
15 lengths[i] = strlen(substrs[i]);
16 total_len += lengths[i];
19 char result[total_len + 1];
20 char *result_ptr = result;
22 for (size_t i = 0; i < args->num; i++) {
23 strcpy(result_ptr, substrs[i]);
25 result_ptr += lengths[i];
30 return uwustr_create(result);
33 UwUVMValue uwu_is(UwUVMArgs *args)
35 return uwuutil_is_type(":str:is", args, &uwustr_type);