diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/PassivGrab.c | 9 | ||||
-rw-r--r-- | src/Varargs.c | 118 |
2 files changed, 58 insertions, 69 deletions
diff --git a/src/PassivGrab.c b/src/PassivGrab.c index d380f5b..9a2d90b 100644 --- a/src/PassivGrab.c +++ b/src/PassivGrab.c @@ -190,12 +190,9 @@ static void FreeGrab(XtServerGrabPtr pGrab) { if (pGrab->hasExt) { - XtServerGrabExtPtr ext = GRABEXT(pGrab); - - if (ext->pModifiersMask) - XtFree((char *) ext->pModifiersMask); - if (ext->pKeyButMask) - XtFree((char *) ext->pKeyButMask); + XtServerGrabExtPtr ext = GRABEXT(pGrab); + XtFree((char *)ext->pModifiersMask); + XtFree((char *)ext->pKeyButMask); } XtFree((char *) pGrab); } diff --git a/src/Varargs.c b/src/Varargs.c index 3dbcfa6..4e1f647 100644 --- a/src/Varargs.c +++ b/src/Varargs.c @@ -342,70 +342,62 @@ _XtVaToArgList(Widget widget, ArgList *args_return, Cardinal *num_args_return) { - String attr; - int count; - ArgList args = (ArgList) NULL; - XtTypedArg typed_arg; - XtResourceList resources = (XtResourceList) NULL; - Cardinal num_resources = 0; - Boolean fetched_resource_list = False; - - if (max_count == 0) { - *num_args_return = 0; - *args_return = (ArgList) NULL; - return; - } - - args = - (ArgList) - __XtMalloc((Cardinal) ((size_t) (max_count * 2) * sizeof(Arg))); - if (args) { - for (count = max_count * 2; --count >= 0;) - args[count].value = (XtArgVal) NULL; - count = 0; - - for (attr = va_arg(var, String); attr != NULL; - attr = va_arg(var, String)) { - if (strcmp(attr, XtVaTypedArg) == 0) { - typed_arg.name = va_arg(var, String); - typed_arg.type = va_arg(var, String); - typed_arg.value = va_arg(var, XtArgVal); - typed_arg.size = va_arg(var, int); - - /* if widget is NULL, typed args are ignored */ - if (widget != NULL) { - if (!fetched_resource_list) { - GetResources(widget, &resources, &num_resources); - fetched_resource_list = True; - } - count += TypedArgToArg(widget, &typed_arg, &args[count], - resources, num_resources, - &args[max_count + count]); - } - } - else if (strcmp(attr, XtVaNestedList) == 0) { - if (widget != NULL) { - if (!fetched_resource_list) { - GetResources(widget, &resources, &num_resources); - fetched_resource_list = True; - } - } - - count += NestedArgtoArg(widget, va_arg(var, XtTypedArgList), - &args[count], resources, num_resources, - &args[max_count + count]); - } - else { - args[count].name = attr; - args[count].value = va_arg(var, XtArgVal); - count++; - } - } + String attr; + int count; + ArgList args = (ArgList)NULL; + XtTypedArg typed_arg; + XtResourceList resources = (XtResourceList)NULL; + Cardinal num_resources = 0; + Boolean fetched_resource_list = False; + + *num_args_return = 0; + *args_return = (ArgList)NULL; + + if (max_count == 0) + return; + + args = (ArgList)__XtMalloc((Cardinal)((size_t)(max_count * 2) * sizeof(Arg))); + if (!args) + return; + for (count = max_count * 2; --count >= 0; ) + args[count].value = (XtArgVal) NULL; + count = 0; + + for(attr = va_arg(var, String) ; attr != NULL; + attr = va_arg(var, String)) { + if (strcmp(attr, XtVaTypedArg) == 0) { + typed_arg.name = va_arg(var, String); + typed_arg.type = va_arg(var, String); + typed_arg.value = va_arg(var, XtArgVal); + typed_arg.size = va_arg(var, int); + + /* if widget is NULL, typed args are ignored */ + if (widget != NULL) { + if (!fetched_resource_list) { + GetResources(widget, &resources, &num_resources); + fetched_resource_list = True; + } + count += TypedArgToArg(widget, &typed_arg, &args[count], + resources, num_resources, + &args[max_count + count]); + } + } else if (strcmp(attr, XtVaNestedList) == 0) { + if (widget != NULL) { + if (!fetched_resource_list) { + GetResources(widget, &resources, &num_resources); + fetched_resource_list = True; + } + } + + count += NestedArgtoArg(widget, va_arg(var, XtTypedArgList), + &args[count], resources, num_resources, + &args[max_count + count]); + } else { + args[count].name = attr; + args[count].value = va_arg(var, XtArgVal); + count ++; + } } - else { - count = 0; - } - XtFree((XtPointer) resources); *num_args_return = (Cardinal) count; |