Lines Matching defs:argv
247 SM_VAL_T * volatile argv = NULL;
270 ** and copy the arguments into argv.
273 argv = sm_malloc_x(argc * sizeof(SM_VAL_T));
274 exc->exc_argv = argv;
280 argv[i].v_int = SM_VA_ARG(ap, int);
283 argv[i].v_long = SM_VA_ARG(ap, long);
286 argv[i].v_exc = SM_VA_ARG(ap, SM_EXC_T*);
289 argv[i].v_str = SM_VA_ARG(ap, char*);
293 argv[i].v_str = SM_VA_ARG(ap, char*);
302 ** Step 3. Scan argv, and allocate space for all
304 ** of argv that have been processed so far.
305 ** On failure, free exc, argv, all the exception arguments
315 char *str = argv[si].v_str;
317 argv[si].v_str = sm_strdup_x(str);
322 char *fmt = argv[si].v_str;
324 argv[si].v_str = sm_vstringf_x(fmt, ap);
332 if (exc == NULL || argv == NULL)
362 ** Failure in step 3. Scan argv and free
365 ** Then free argv.
373 sm_exc_free(argv[i].v_exc);
378 sm_free(argv[i].v_str);
382 sm_free(argv);