diff options
author | kaleb <empty> | 1993-05-13 16:20:25 +0000 |
---|---|---|
committer | kaleb <empty> | 1993-05-13 16:20:25 +0000 |
commit | c01fc7ecaf3181b25726dd86a00f6a6bd10c92a0 (patch) | |
tree | 7b779450e3ac1d661347b9a391ad623afc36d585 /xc/lib/Xt/VarCreate.c | |
parent | 4d821c23ee758d29c42d14079130f31525e62b23 (diff) |
eliminated some poorly written varargs code by inlining the creation
of the typed_args list of resources. #6001, #5479
Diffstat (limited to 'xc/lib/Xt/VarCreate.c')
-rw-r--r-- | xc/lib/Xt/VarCreate.c | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/xc/lib/Xt/VarCreate.c b/xc/lib/Xt/VarCreate.c index a7e8fd060..f1b80e2db 100644 --- a/xc/lib/Xt/VarCreate.c +++ b/xc/lib/Xt/VarCreate.c @@ -1,4 +1,4 @@ -/* $XConsortium: VarCreate.c,v 1.24 91/12/10 18:57:25 converse Exp $ */ +/* $XConsortium: VarCreate.c,v 1.25 92/06/12 17:30:39 converse Exp $ */ /* @@ -297,7 +297,6 @@ Widget _XtVaAppInitialize(app_context_return, application_class, options, va_list var_args; #endif { - va_list var; XtAppContext app_con; Display * dpy; register int saved_argc = *argc_in_out; @@ -311,23 +310,28 @@ Widget _XtVaAppInitialize(app_context_return, application_class, options, dpy = _XtAppInit(&app_con, (String)application_class, options, num_options, argc_in_out, &argv_in_out, fallback_resources); - var = var_args; - for(attr = va_arg(var,String); attr != NULL; attr = va_arg(var,String)) { - ++count; + typed_args = (XtTypedArgList) XtMalloc((unsigned) sizeof(XtTypedArg)); + attr = va_arg (var_args, String); + for(; attr != NULL; attr = va_arg (var_args, String)) { if (strcmp(attr, XtVaTypedArg) == 0) { - va_arg(var, String); - va_arg(var, String); - va_arg(var, XtArgVal); - va_arg(var, int); + typed_args[count].name = va_arg(var_args, String); + typed_args[count].type = va_arg(var_args, String); + typed_args[count].value = va_arg(var_args, XtArgVal); + typed_args[count].size = va_arg(var_args, int); } else { - va_arg(var, XtArgVal); + typed_args[count].name = attr; + typed_args[count].type = NULL; + typed_args[count].value = va_arg(var_args, XtArgVal); + typed_args[count].size = 0; } + count++; + typed_args = (XtTypedArgList) + XtRealloc((char *) typed_args, + (unsigned) (count + 1) * sizeof(XtTypedArg)); } - va_end(var); + typed_args[count].name = NULL; - var = var_args; - typed_args = _XtVaCreateTypedArgList(var, count); - va_end(var); + va_end (var_args); root = XtVaAppCreateShell( NULL, application_class, |