| 257 strs[i] = va_arg(args, char **); |
257 strs[i] = va_arg(args, char **); |
| 258 if (strs[i] == NULL || *strs[i] == NULL) { |
258 if (strs[i] == NULL || *strs[i] == NULL) { |
| 259 vals[i] = ckalloc(1); |
259 vals[i] = ckalloc(1); |
| 260 *(char *)vals[i] = '\0'; |
260 *(char *)vals[i] = '\0'; |
| 261 } else { |
261 } else { |
| 262 vals[i] = ckalloc(strlen(*strs[i]) + 1); |
262 size_t len = strlen(*strs[i]) + 1; |
| 263 strcpy(vals[i], *strs[i]); |
263 vals[i] = ckalloc(len); |
| |
264 g_strlcpy(vals[i], *strs[i], len); |
| 264 } |
265 } |
| 265 Tcl_LinkVar(handler->interp, name->str, |
266 Tcl_LinkVar(handler->interp, name->str, |
| 266 (char *)&vals[i], TCL_LINK_STRING); |
267 (char *)&vals[i], TCL_LINK_STRING); |
| 267 arg = Tcl_NewStringObj(name->str, -1); |
268 arg = Tcl_NewStringObj(name->str, -1); |
| 268 } else { |
269 } else { |