diff options
Diffstat (limited to 'src/TMparse.c')
-rw-r--r-- | src/TMparse.c | 2352 |
1 files changed, 1212 insertions, 1140 deletions
diff --git a/src/TMparse.c b/src/TMparse.c index 6500324..a3b32fd 100644 --- a/src/TMparse.c +++ b/src/TMparse.c @@ -82,13 +82,13 @@ in this Software without prior written authorization from The Open Group. #include <X11/keysymdef.h> #ifdef CACHE_TRANSLATIONS -# ifdef REFCNT_TRANSLATIONS -# define CACHED XtCacheAll | XtCacheRefCount -# else -# define CACHED XtCacheAll -# endif +#ifdef REFCNT_TRANSLATIONS +#define CACHED XtCacheAll | XtCacheRefCount #else -# define CACHED XtCacheNone +#define CACHED XtCacheAll +#endif +#else +#define CACHED XtCacheNone #endif #ifndef MAX @@ -101,134 +101,135 @@ in this Software without prior written authorization from The Open Group. static _Xconst char *XtNtranslationParseError = "translationParseError"; -typedef int EventType; +typedef int EventType; #define PARSE_PROC_DECL String, Opaque, EventPtr, Boolean* -typedef String (*ParseProc)( - String /* str; */, - Opaque /* closure; */, - EventPtr /* event; */, - Boolean* /* error */); +typedef String(*ParseProc) (String /* str; */ , + Opaque /* closure; */ , + EventPtr /* event; */ , + Boolean * /* error */ ); -typedef TMShortCard Value; -typedef void (*ModifierProc)(Value, LateBindingsPtr*, Boolean, Value*); +typedef TMShortCard Value; +typedef void (*ModifierProc) (Value, LateBindingsPtr *, Boolean, Value *); typedef struct _ModifierRec { const char *name; - XrmQuark signature; + XrmQuark signature; ModifierProc modifierParseProc; - Value value; + Value value; } ModifierRec, *ModifierKeys; typedef struct _EventKey { - const char *event; - XrmQuark signature; - EventType eventType; - ParseProc parseDetail; - Opaque closure; -}EventKey, *EventKeys; + const char *event; + XrmQuark signature; + EventType eventType; + ParseProc parseDetail; + Opaque closure; +} EventKey, *EventKeys; typedef struct { - const char *name; - XrmQuark signature; - Value value; + const char *name; + XrmQuark signature; + Value value; } NameValueRec, *NameValueTable; -static void ParseModImmed(Value, LateBindingsPtr*, Boolean, Value*); -static void ParseModSym(Value, LateBindingsPtr*, Boolean, Value*); +static void ParseModImmed(Value, LateBindingsPtr *, Boolean, Value *); +static void ParseModSym(Value, LateBindingsPtr *, Boolean, Value *); static String PanicModeRecovery(String); static String CheckForPoundSign(String, _XtTranslateOp, _XtTranslateOp *); static KeySym StringToKeySym(String, Boolean *); +/* *INDENT-OFF* */ static ModifierRec modifiers[] = { - {"Shift", 0, ParseModImmed,ShiftMask}, - {"Lock", 0, ParseModImmed,LockMask}, - {"Ctrl", 0, ParseModImmed,ControlMask}, - {"Mod1", 0, ParseModImmed,Mod1Mask}, - {"Mod2", 0, ParseModImmed,Mod2Mask}, - {"Mod3", 0, ParseModImmed,Mod3Mask}, - {"Mod4", 0, ParseModImmed,Mod4Mask}, - {"Mod5", 0, ParseModImmed,Mod5Mask}, - {"Meta", 0, ParseModSym, XK_Meta_L}, - {"m", 0, ParseModSym, XK_Meta_L}, - {"h", 0, ParseModSym, XK_Hyper_L}, - {"su", 0, ParseModSym, XK_Super_L}, - {"a", 0, ParseModSym, XK_Alt_L}, - {"Hyper", 0, ParseModSym, XK_Hyper_L}, - {"Super", 0, ParseModSym, XK_Super_L}, - {"Alt", 0, ParseModSym, XK_Alt_L}, - {"Button1", 0, ParseModImmed,Button1Mask}, - {"Button2", 0, ParseModImmed,Button2Mask}, - {"Button3", 0, ParseModImmed,Button3Mask}, - {"Button4", 0, ParseModImmed,Button4Mask}, - {"Button5", 0, ParseModImmed,Button5Mask}, - {"c", 0, ParseModImmed,ControlMask}, - {"s", 0, ParseModImmed,ShiftMask}, - {"l", 0, ParseModImmed,LockMask}, + {"Shift", 0, ParseModImmed, ShiftMask}, + {"Lock", 0, ParseModImmed, LockMask}, + {"Ctrl", 0, ParseModImmed, ControlMask}, + {"Mod1", 0, ParseModImmed, Mod1Mask}, + {"Mod2", 0, ParseModImmed, Mod2Mask}, + {"Mod3", 0, ParseModImmed, Mod3Mask}, + {"Mod4", 0, ParseModImmed, Mod4Mask}, + {"Mod5", 0, ParseModImmed, Mod5Mask}, + {"Meta", 0, ParseModSym, XK_Meta_L}, + {"m", 0, ParseModSym, XK_Meta_L}, + {"h", 0, ParseModSym, XK_Hyper_L}, + {"su", 0, ParseModSym, XK_Super_L}, + {"a", 0, ParseModSym, XK_Alt_L}, + {"Hyper", 0, ParseModSym, XK_Hyper_L}, + {"Super", 0, ParseModSym, XK_Super_L}, + {"Alt", 0, ParseModSym, XK_Alt_L}, + {"Button1", 0, ParseModImmed, Button1Mask}, + {"Button2", 0, ParseModImmed, Button2Mask}, + {"Button3", 0, ParseModImmed, Button3Mask}, + {"Button4", 0, ParseModImmed, Button4Mask}, + {"Button5", 0, ParseModImmed, Button5Mask}, + {"c", 0, ParseModImmed, ControlMask}, + {"s", 0, ParseModImmed, ShiftMask}, + {"l", 0, ParseModImmed, LockMask}, }; static NameValueRec buttonNames[] = { - {"Button1", 0, Button1}, - {"Button2", 0, Button2}, - {"Button3", 0, Button3}, - {"Button4", 0, Button4}, - {"Button5", 0, Button5}, - {NULL, NULLQUARK, 0}, + {"Button1", 0, Button1}, + {"Button2", 0, Button2}, + {"Button3", 0, Button3}, + {"Button4", 0, Button4}, + {"Button5", 0, Button5}, + {NULL, NULLQUARK, 0}, }; static NameValueRec motionDetails[] = { - {"Normal", 0, NotifyNormal}, - {"Hint", 0, NotifyHint}, - {NULL, NULLQUARK, 0}, + {"Normal", 0, NotifyNormal}, + {"Hint", 0, NotifyHint}, + {NULL, NULLQUARK, 0}, }; static NameValueRec notifyModes[] = { - {"Normal", 0, NotifyNormal}, - {"Grab", 0, NotifyGrab}, - {"Ungrab", 0, NotifyUngrab}, - {"WhileGrabbed", 0, NotifyWhileGrabbed}, - {NULL, NULLQUARK, 0}, + {"Normal", 0, NotifyNormal}, + {"Grab", 0, NotifyGrab}, + {"Ungrab", 0, NotifyUngrab}, + {"WhileGrabbed", 0, NotifyWhileGrabbed}, + {NULL, NULLQUARK, 0}, }; #if 0 static NameValueRec notifyDetail[] = { - {"Ancestor", 0, NotifyAncestor}, - {"Virtual", 0, NotifyVirtual}, - {"Inferior", 0, NotifyInferior}, - {"Nonlinear", 0, NotifyNonlinear}, - {"NonlinearVirtual", 0, NotifyNonlinearVirtual}, - {"Pointer", 0, NotifyPointer}, - {"PointerRoot", 0, NotifyPointerRoot}, - {"DetailNone", 0, NotifyDetailNone}, - {NULL, NULLQUARK, 0}, + {"Ancestor", 0, NotifyAncestor}, + {"Virtual", 0, NotifyVirtual}, + {"Inferior", 0, NotifyInferior}, + {"Nonlinear", 0, NotifyNonlinear}, + {"NonlinearVirtual", 0, NotifyNonlinearVirtual}, + {"Pointer", 0, NotifyPointer}, + {"PointerRoot", 0, NotifyPointerRoot}, + {"DetailNone", 0, NotifyDetailNone}, + {NULL, NULLQUARK, 0}, }; static NameValueRec visibilityNotify[] = { - {"Unobscured", 0, VisibilityUnobscured}, - {"PartiallyObscured", 0, VisibilityPartiallyObscured}, - {"FullyObscured", 0, VisibilityFullyObscured}, - {NULL, NULLQUARK, 0}, + {"Unobscured", 0, VisibilityUnobscured}, + {"PartiallyObscured", 0, VisibilityPartiallyObscured}, + {"FullyObscured", 0, VisibilityFullyObscured}, + {NULL, NULLQUARK, 0}, }; static NameValueRec circulation[] = { - {"OnTop", 0, PlaceOnTop}, - {"OnBottom", 0, PlaceOnBottom}, - {NULL, NULLQUARK, 0}, + {"OnTop", 0, PlaceOnTop}, + {"OnBottom", 0, PlaceOnBottom}, + {NULL, NULLQUARK, 0}, }; static NameValueRec propertyChanged[] = { - {"NewValue", 0, PropertyNewValue}, - {"Delete", 0, PropertyDelete}, - {NULL, NULLQUARK, 0}, + {"NewValue", 0, PropertyNewValue}, + {"Delete", 0, PropertyDelete}, + {NULL, NULLQUARK, 0}, }; #endif /*0*/ static NameValueRec mappingNotify[] = { - {"Modifier", 0, MappingModifier}, - {"Keyboard", 0, MappingKeyboard}, - {"Pointer", 0, MappingPointer}, - {NULL, NULLQUARK, 0}, + {"Modifier", 0, MappingModifier}, + {"Keyboard", 0, MappingKeyboard}, + {"Pointer", 0, MappingPointer}, + {NULL, NULLQUARK, 0}, }; +/* *INDENT-ON* */ static String ParseKeySym(PARSE_PROC_DECL); static String ParseKeyAndModifiers(PARSE_PROC_DECL); @@ -238,149 +239,151 @@ static String ParseAddModifier(PARSE_PROC_DECL); static String ParseNone(PARSE_PROC_DECL); static String ParseAtom(PARSE_PROC_DECL); +/* *INDENT-OFF* */ static EventKey events[] = { -/* Event Name, Quark, Event Type, Detail Parser, Closure */ +/* Event Name, Quark, Event Type, Detail Parser, Closure */ -{"KeyPress", NULLQUARK, KeyPress, ParseKeySym, NULL}, -{"Key", NULLQUARK, KeyPress, ParseKeySym, NULL}, -{"KeyDown", NULLQUARK, KeyPress, ParseKeySym, NULL}, -{"Ctrl", NULLQUARK, KeyPress, ParseKeyAndModifiers,(Opaque)ControlMask}, -{"Shift", NULLQUARK, KeyPress, ParseKeyAndModifiers,(Opaque)ShiftMask}, -{"Meta", NULLQUARK, KeyPress, ParseKeyAndModifiers,(Opaque)NULL}, -{"KeyUp", NULLQUARK, KeyRelease, ParseKeySym, NULL}, -{"KeyRelease", NULLQUARK, KeyRelease, ParseKeySym, NULL}, +{"KeyPress", NULLQUARK, KeyPress, ParseKeySym, NULL}, +{"Key", NULLQUARK, KeyPress, ParseKeySym, NULL}, +{"KeyDown", NULLQUARK, KeyPress, ParseKeySym, NULL}, +{"Ctrl", NULLQUARK, KeyPress, ParseKeyAndModifiers, (Opaque)ControlMask}, +{"Shift", NULLQUARK, KeyPress, ParseKeyAndModifiers, (Opaque)ShiftMask}, +{"Meta", NULLQUARK, KeyPress, ParseKeyAndModifiers, (Opaque)NULL}, +{"KeyUp", NULLQUARK, KeyRelease, ParseKeySym, NULL}, +{"KeyRelease", NULLQUARK, KeyRelease, ParseKeySym, NULL}, -{"ButtonPress", NULLQUARK, ButtonPress, ParseTable,(Opaque)buttonNames}, -{"BtnDown", NULLQUARK, ButtonPress, ParseTable,(Opaque)buttonNames}, -{"Btn1Down", NULLQUARK, ButtonPress, ParseImmed,(Opaque)Button1}, -{"Btn2Down", NULLQUARK, ButtonPress, ParseImmed,(Opaque)Button2}, -{"Btn3Down", NULLQUARK, ButtonPress, ParseImmed,(Opaque)Button3}, -{"Btn4Down", NULLQUARK, ButtonPress, ParseImmed,(Opaque)Button4}, -{"Btn5Down", NULLQUARK, ButtonPress, ParseImmed,(Opaque)Button5}, +{"ButtonPress", NULLQUARK, ButtonPress, ParseTable, (Opaque)buttonNames}, +{"BtnDown", NULLQUARK, ButtonPress, ParseTable, (Opaque)buttonNames}, +{"Btn1Down", NULLQUARK, ButtonPress, ParseImmed, (Opaque)Button1}, +{"Btn2Down", NULLQUARK, ButtonPress, ParseImmed, (Opaque)Button2}, +{"Btn3Down", NULLQUARK, ButtonPress, ParseImmed, (Opaque)Button3}, +{"Btn4Down", NULLQUARK, ButtonPress, ParseImmed, (Opaque)Button4}, +{"Btn5Down", NULLQUARK, ButtonPress, ParseImmed, (Opaque)Button5}, -/* Event Name, Quark, Event Type, Detail Parser, Closure */ +/* Event Name, Quark, Event Type, Detail Parser, Closure */ -{"ButtonRelease", NULLQUARK, ButtonRelease, ParseTable,(Opaque)buttonNames}, -{"BtnUp", NULLQUARK, ButtonRelease, ParseTable,(Opaque)buttonNames}, -{"Btn1Up", NULLQUARK, ButtonRelease, ParseImmed,(Opaque)Button1}, -{"Btn2Up", NULLQUARK, ButtonRelease, ParseImmed,(Opaque)Button2}, -{"Btn3Up", NULLQUARK, ButtonRelease, ParseImmed,(Opaque)Button3}, -{"Btn4Up", NULLQUARK, ButtonRelease, ParseImmed,(Opaque)Button4}, -{"Btn5Up", NULLQUARK, ButtonRelease, ParseImmed,(Opaque)Button5}, +{"ButtonRelease", NULLQUARK, ButtonRelease, ParseTable, (Opaque)buttonNames}, +{"BtnUp", NULLQUARK, ButtonRelease, ParseTable, (Opaque)buttonNames}, +{"Btn1Up", NULLQUARK, ButtonRelease, ParseImmed, (Opaque)Button1}, +{"Btn2Up", NULLQUARK, ButtonRelease, ParseImmed, (Opaque)Button2}, +{"Btn3Up", NULLQUARK, ButtonRelease, ParseImmed, (Opaque)Button3}, +{"Btn4Up", NULLQUARK, ButtonRelease, ParseImmed, (Opaque)Button4}, +{"Btn5Up", NULLQUARK, ButtonRelease, ParseImmed, (Opaque)Button5}, -{"MotionNotify", NULLQUARK, MotionNotify, ParseTable, (Opaque)motionDetails}, -{"PtrMoved", NULLQUARK, MotionNotify, ParseTable, (Opaque)motionDetails}, -{"Motion", NULLQUARK, MotionNotify, ParseTable, (Opaque)motionDetails}, -{"MouseMoved", NULLQUARK, MotionNotify, ParseTable, (Opaque)motionDetails}, -{"BtnMotion", NULLQUARK, MotionNotify, ParseAddModifier, (Opaque)AnyButtonMask}, -{"Btn1Motion", NULLQUARK, MotionNotify, ParseAddModifier, (Opaque)Button1Mask}, -{"Btn2Motion", NULLQUARK, MotionNotify, ParseAddModifier, (Opaque)Button2Mask}, -{"Btn3Motion", NULLQUARK, MotionNotify, ParseAddModifier, (Opaque)Button3Mask}, -{"Btn4Motion", NULLQUARK, MotionNotify, ParseAddModifier, (Opaque)Button4Mask}, -{"Btn5Motion", NULLQUARK, MotionNotify, ParseAddModifier, (Opaque)Button5Mask}, +{"MotionNotify", NULLQUARK, MotionNotify, ParseTable, (Opaque)motionDetails}, +{"PtrMoved", NULLQUARK, MotionNotify, ParseTable, (Opaque)motionDetails}, +{"Motion", NULLQUARK, MotionNotify, ParseTable, (Opaque)motionDetails}, +{"MouseMoved", NULLQUARK, MotionNotify, ParseTable, (Opaque)motionDetails}, +{"BtnMotion", NULLQUARK, MotionNotify, ParseAddModifier, (Opaque)AnyButtonMask}, +{"Btn1Motion", NULLQUARK, MotionNotify, ParseAddModifier, (Opaque)Button1Mask}, +{"Btn2Motion", NULLQUARK, MotionNotify, ParseAddModifier, (Opaque)Button2Mask}, +{"Btn3Motion", NULLQUARK, MotionNotify, ParseAddModifier, (Opaque)Button3Mask}, +{"Btn4Motion", NULLQUARK, MotionNotify, ParseAddModifier, (Opaque)Button4Mask}, +{"Btn5Motion", NULLQUARK, MotionNotify, ParseAddModifier, (Opaque)Button5Mask}, -{"EnterNotify", NULLQUARK, EnterNotify, ParseTable,(Opaque)notifyModes}, -{"Enter", NULLQUARK, EnterNotify, ParseTable,(Opaque)notifyModes}, -{"EnterWindow", NULLQUARK, EnterNotify, ParseTable,(Opaque)notifyModes}, +{"EnterNotify", NULLQUARK, EnterNotify, ParseTable, (Opaque)notifyModes}, +{"Enter", NULLQUARK, EnterNotify, ParseTable, (Opaque)notifyModes}, +{"EnterWindow", NULLQUARK, EnterNotify, ParseTable, (Opaque)notifyModes}, -{"LeaveNotify", NULLQUARK, LeaveNotify, ParseTable,(Opaque)notifyModes}, -{"LeaveWindow", NULLQUARK, LeaveNotify, ParseTable,(Opaque)notifyModes}, -{"Leave", NULLQUARK, LeaveNotify, ParseTable,(Opaque)notifyModes}, +{"LeaveNotify", NULLQUARK, LeaveNotify, ParseTable, (Opaque)notifyModes}, +{"LeaveWindow", NULLQUARK, LeaveNotify, ParseTable, (Opaque)notifyModes}, +{"Leave", NULLQUARK, LeaveNotify, ParseTable, (Opaque)notifyModes}, -/* Event Name, Quark, Event Type, Detail Parser, Closure */ +/* Event Name, Quark, Event Type, Detail Parser, Closure */ -{"FocusIn", NULLQUARK, FocusIn, ParseTable,(Opaque)notifyModes}, +{"FocusIn", NULLQUARK, FocusIn, ParseTable, (Opaque)notifyModes}, -{"FocusOut", NULLQUARK, FocusOut, ParseTable,(Opaque)notifyModes}, +{"FocusOut", NULLQUARK, FocusOut, ParseTable, (Opaque)notifyModes}, -{"KeymapNotify", NULLQUARK, KeymapNotify, ParseNone, NULL}, -{"Keymap", NULLQUARK, KeymapNotify, ParseNone, NULL}, +{"KeymapNotify", NULLQUARK, KeymapNotify, ParseNone, NULL}, +{"Keymap", NULLQUARK, KeymapNotify, ParseNone, NULL}, -{"Expose", NULLQUARK, Expose, ParseNone, NULL}, +{"Expose", NULLQUARK, Expose, ParseNone, NULL}, -{"GraphicsExpose", NULLQUARK, GraphicsExpose, ParseNone, NULL}, -{"GrExp", NULLQUARK, GraphicsExpose, ParseNone, NULL}, +{"GraphicsExpose", NULLQUARK, GraphicsExpose, ParseNone, NULL}, +{"GrExp", NULLQUARK, GraphicsExpose, ParseNone, NULL}, -{"NoExpose", NULLQUARK, NoExpose, ParseNone, NULL}, -{"NoExp", NULLQUARK, NoExpose, ParseNone, NULL}, +{"NoExpose", NULLQUARK, NoExpose, ParseNone, NULL}, +{"NoExp", NULLQUARK, NoExpose, ParseNone, NULL}, -{"VisibilityNotify",NULLQUARK, VisibilityNotify,ParseNone, NULL}, -{"Visible", NULLQUARK, VisibilityNotify,ParseNone, NULL}, +{"VisibilityNotify",NULLQUARK, VisibilityNotify,ParseNone, NULL}, +{"Visible", NULLQUARK, VisibilityNotify,ParseNone, NULL}, -{"CreateNotify", NULLQUARK, CreateNotify, ParseNone, NULL}, -{"Create", NULLQUARK, CreateNotify, ParseNone, NULL}, +{"CreateNotify", NULLQUARK, CreateNotify, ParseNone, NULL}, +{"Create", NULLQUARK, CreateNotify, ParseNone, NULL}, -/* Event Name, Quark, Event Type, Detail Parser, Closure */ +/* Event Name, Quark, Event Type, Detail Parser, Closure */ -{"DestroyNotify", NULLQUARK, DestroyNotify, ParseNone, NULL}, -{"Destroy", NULLQUARK, DestroyNotify, ParseNone, NULL}, +{"DestroyNotify", NULLQUARK, DestroyNotify, ParseNone, NULL}, +{"Destroy", NULLQUARK, DestroyNotify, ParseNone, NULL}, -{"UnmapNotify", NULLQUARK, UnmapNotify, ParseNone, NULL}, -{"Unmap", NULLQUARK, UnmapNotify, ParseNone, NULL}, +{"UnmapNotify", NULLQUARK, UnmapNotify, ParseNone, NULL}, +{"Unmap", NULLQUARK, UnmapNotify, ParseNone, NULL}, -{"MapNotify", NULLQUARK, MapNotify, ParseNone, NULL}, -{"Map", NULLQUARK, MapNotify, ParseNone, NULL}, +{"MapNotify", NULLQUARK, MapNotify, ParseNone, NULL}, +{"Map", NULLQUARK, MapNotify, ParseNone, NULL}, -{"MapRequest", NULLQUARK, MapRequest, ParseNone, NULL}, -{"MapReq", NULLQUARK, MapRequest, ParseNone, NULL}, +{"MapRequest", NULLQUARK, MapRequest, ParseNone, NULL}, +{"MapReq", NULLQUARK, MapRequest, ParseNone, NULL}, -{"ReparentNotify", NULLQUARK, ReparentNotify, ParseNone, NULL}, -{"Reparent", NULLQUARK, ReparentNotify, ParseNone, NULL}, +{"ReparentNotify", NULLQUARK, ReparentNotify, ParseNone, NULL}, +{"Reparent", NULLQUARK, ReparentNotify, ParseNone, NULL}, -{"ConfigureNotify", NULLQUARK, ConfigureNotify, ParseNone, NULL}, -{"Configure", NULLQUARK, ConfigureNotify, ParseNone, NULL}, +{"ConfigureNotify", NULLQUARK, ConfigureNotify, ParseNone, NULL}, +{"Configure", NULLQUARK, ConfigureNotify, ParseNone, NULL}, -{"ConfigureRequest",NULLQUARK, ConfigureRequest,ParseNone, NULL}, -{"ConfigureReq", NULLQUARK, ConfigureRequest,ParseNone, NULL}, +{"ConfigureRequest",NULLQUARK, ConfigureRequest,ParseNone, NULL}, +{"ConfigureReq", NULLQUARK, ConfigureRequest,ParseNone, NULL}, -/* Event Name, Quark, Event Type, Detail Parser, Closure */ +/* Event Name, Quark, Event Type, Detail Parser, Closure */ -{"GravityNotify", NULLQUARK, GravityNotify, ParseNone, NULL}, -{"Grav", NULLQUARK, GravityNotify, ParseNone, NULL}, +{"GravityNotify", NULLQUARK, GravityNotify, ParseNone, NULL}, +{"Grav", NULLQUARK, GravityNotify, ParseNone, NULL}, -{"ResizeRequest", NULLQUARK, ResizeRequest, ParseNone, NULL}, -{"ResReq", NULLQUARK, ResizeRequest, ParseNone, NULL}, +{"ResizeRequest", NULLQUARK, ResizeRequest, ParseNone, NULL}, +{"ResReq", NULLQUARK, ResizeRequest, ParseNone, NULL}, -{"CirculateNotify", NULLQUARK, CirculateNotify, ParseNone, NULL}, -{"Circ", NULLQUARK, CirculateNotify, ParseNone, NULL}, +{"CirculateNotify", NULLQUARK, CirculateNotify, ParseNone, NULL}, +{"Circ", NULLQUARK, CirculateNotify, ParseNone, NULL}, -{"CirculateRequest",NULLQUARK, CirculateRequest,ParseNone, NULL}, -{"CircReq", NULLQUARK, CirculateRequest,ParseNone, NULL}, +{"CirculateRequest",NULLQUARK, CirculateRequest,ParseNone, NULL}, +{"CircReq", NULLQUARK, CirculateRequest,ParseNone, NULL}, -{"PropertyNotify", NULLQUARK, PropertyNotify, ParseAtom, NULL}, -{"Prop", NULLQUARK, PropertyNotify, ParseAtom, NULL}, +{"PropertyNotify", NULLQUARK, PropertyNotify, ParseAtom, NULL}, +{"Prop", NULLQUARK, PropertyNotify, ParseAtom, NULL}, -{"SelectionClear", NULLQUARK, SelectionClear, ParseAtom, NULL}, -{"SelClr", NULLQUARK, SelectionClear, ParseAtom, NULL}, +{"SelectionClear", NULLQUARK, SelectionClear, ParseAtom, NULL}, +{"SelClr", NULLQUARK, SelectionClear, ParseAtom, NULL}, -{"SelectionRequest",NULLQUARK, SelectionRequest,ParseAtom, NULL}, -{"SelReq", NULLQUARK, SelectionRequest,ParseAtom, NULL}, +{"SelectionRequest",NULLQUARK, SelectionRequest,ParseAtom, NULL}, +{"SelReq", NULLQUARK, SelectionRequest,ParseAtom, NULL}, -/* Event Name, Quark, Event Type, Detail Parser, Closure */ +/* Event Name, Quark, Event Type, Detail Parser, Closure */ -{"SelectionNotify", NULLQUARK, SelectionNotify, ParseAtom, NULL}, -{"Select", NULLQUARK, SelectionNotify, ParseAtom, NULL}, +{"SelectionNotify", NULLQUARK, SelectionNotify, ParseAtom, NULL}, +{"Select", NULLQUARK, SelectionNotify, ParseAtom, NULL}, -{"ColormapNotify", NULLQUARK, ColormapNotify, ParseNone, NULL}, -{"Clrmap", NULLQUARK, ColormapNotify, ParseNone, NULL}, +{"ColormapNotify", NULLQUARK, ColormapNotify, ParseNone, NULL}, +{"Clrmap", NULLQUARK, ColormapNotify, ParseNone, NULL}, -{"ClientMessage", NULLQUARK, ClientMessage, ParseAtom, NULL}, -{"Message", NULLQUARK, ClientMessage, ParseAtom, NULL}, +{"ClientMessage", NULLQUARK, ClientMessage, ParseAtom, NULL}, +{"Message", NULLQUARK, ClientMessage, ParseAtom, NULL}, -{"MappingNotify", NULLQUARK, MappingNotify, ParseTable, (Opaque)mappingNotify}, -{"Mapping", NULLQUARK, MappingNotify, ParseTable, (Opaque)mappingNotify}, +{"MappingNotify", NULLQUARK, MappingNotify, ParseTable, (Opaque)mappingNotify}, +{"Mapping", NULLQUARK, MappingNotify, ParseTable, (Opaque)mappingNotify}, #ifdef DEBUG # ifdef notdef -{"Timer", NULLQUARK, _XtTimerEventType,ParseNone, NULL}, -{"EventTimer", NULLQUARK, _XtEventTimerEventType,ParseNone,NULL}, +{"Timer", NULLQUARK, _XtTimerEventType, ParseNone, NULL}, +{"EventTimer", NULLQUARK, _XtEventTimerEventType, ParseNone,NULL}, # endif /* notdef */ #endif /* DEBUG */ -/* Event Name, Quark, Event Type, Detail Parser, Closure */ +/* Event Name, Quark, Event Type, Detail Parser, Closure */ }; +/* *INDENT-ON* */ #define IsNewline(str) ((str) == '\n') @@ -403,169 +406,175 @@ static XrmQuark QCtrl; static XrmQuark QNone; static XrmQuark QAny; -static void FreeEventSeq( - EventSeqPtr eventSeq) +static void +FreeEventSeq(EventSeqPtr eventSeq) { register EventSeqPtr evs = eventSeq; while (evs != NULL) { - evs->state = (StatePtr) evs; - if (evs->next != NULL - && evs->next->state == (StatePtr) evs->next) - evs->next = NULL; - evs = evs->next; + evs->state = (StatePtr) evs; + if (evs->next != NULL && evs->next->state == (StatePtr) evs->next) + evs->next = NULL; + evs = evs->next; } evs = eventSeq; while (evs != NULL) { - register EventPtr event = evs; - evs = evs->next; - if (evs == event) evs = NULL; - XtFree((char *)event); + register EventPtr event = evs; + + evs = evs->next; + if (evs == event) + evs = NULL; + XtFree((char *) event); } } -static void CompileNameValueTable( - NameValueTable table) +static void +CompileNameValueTable(NameValueTable table) { register int i; - for (i=0; table[i].name; i++) + for (i = 0; table[i].name; i++) table[i].signature = XrmPermStringToQuark(table[i].name); } -static int OrderEvents(_Xconst void *a, _Xconst void *b) +static int +OrderEvents(_Xconst void *a, _Xconst void *b) { - return ((((_Xconst EventKey *)a)->signature < - ((_Xconst EventKey *)b)->signature) ? -1 : 1); + return ((((_Xconst EventKey *) a)->signature < + ((_Xconst EventKey *) b)->signature) ? -1 : 1); } -static void Compile_XtEventTable( - EventKeys table, - Cardinal count) +static void +Compile_XtEventTable(EventKeys table, Cardinal count) { register int i; register EventKeys entry = table; - for (i= (int)count; --i >= 0; entry++) - entry->signature = XrmPermStringToQuark(entry->event); + for (i = (int) count; --i >= 0; entry++) + entry->signature = XrmPermStringToQuark(entry->event); qsort(table, count, sizeof(EventKey), OrderEvents); } -static int OrderModifiers(_Xconst void *a, _Xconst void *b) +static int +OrderModifiers(_Xconst void *a, _Xconst void *b) { - return ((((_Xconst ModifierRec *)a)->signature < - ((_Xconst ModifierRec *)b)->signature) ? -1 : 1); + return ((((_Xconst ModifierRec *) a)->signature < + ((_Xconst ModifierRec *) b)->signature) ? -1 : 1); } -static void Compile_XtModifierTable( - ModifierKeys table, - Cardinal count) +static void +Compile_XtModifierTable(ModifierKeys table, Cardinal count) { register int i; register ModifierKeys entry = table; - for (i= (int)count; --i >= 0; entry++) - entry->signature = XrmPermStringToQuark(entry->name); + for (i = (int) count; --i >= 0; entry++) + entry->signature = XrmPermStringToQuark(entry->name); qsort(table, count, sizeof(ModifierRec), OrderModifiers); } -static String PanicModeRecovery( - String str) +static String +PanicModeRecovery(String str) { - ScanFor(str,'\n'); - if (*str == '\n') str++; - return str; + ScanFor(str, '\n'); + if (*str == '\n') + str++; + return str; } - -static void Syntax( - _Xconst char *str0, _Xconst char *str1) +static void +Syntax(_Xconst char *str0, _Xconst char *str1) { Cardinal num_params = 2; String params[2]; params[0] = (String) str0; params[1] = (String) str1; - XtWarningMsg(XtNtranslationParseError,"parseError",XtCXtToolkitError, - "translation table syntax error: %s %s",params,&num_params); + XtWarningMsg(XtNtranslationParseError, "parseError", XtCXtToolkitError, + "translation table syntax error: %s %s", params, &num_params); } - - -static Cardinal LookupTMEventType( - String eventStr, - Boolean *error) +static Cardinal +LookupTMEventType(String eventStr, Boolean * error) { - register int i = 0, left, right; - register XrmQuark signature; - static int previous = 0; + register int i = 0, left, right; + register XrmQuark signature; + static int previous = 0; LOCK_PROCESS; if ((signature = StringToQuark(eventStr)) == events[previous].signature) { - UNLOCK_PROCESS; - return (Cardinal) previous; + UNLOCK_PROCESS; + return (Cardinal) previous; } left = 0; right = XtNumber(events) - 1; while (left <= right) { - i = (left + right) >> 1; - if (signature < events[i].signature) - right = i - 1; - else if (signature > events[i].signature) - left = i + 1; - else { - previous = i; - UNLOCK_PROCESS; - return (Cardinal) i; - } - } - - Syntax("Unknown event type : ",eventStr); + i = (left + right) >> 1; + if (signature < events[i].signature) + right = i - 1; + else if (signature > events[i].signature) + left = i + 1; + else { + previous = i; + UNLOCK_PROCESS; + return (Cardinal) i; + } + } + + Syntax("Unknown event type : ", eventStr); *error = TRUE; UNLOCK_PROCESS; return (Cardinal) i; } -static void StoreLateBindings( - KeySym keysymL, - Boolean notL, - KeySym keysymR, - Boolean notR, - LateBindingsPtr* lateBindings) +static void +StoreLateBindings(KeySym keysymL, + Boolean notL, + KeySym keysymR, + Boolean notR, + LateBindingsPtr * lateBindings) { LateBindingsPtr temp; - if (lateBindings != NULL){ - Boolean pair = FALSE; - unsigned long count; - unsigned long number; + if (lateBindings != NULL) { + Boolean pair = FALSE; + unsigned long count; + unsigned long number; temp = *lateBindings; if (temp != NULL) { - for (count = 0; temp[count].keysym; count++){/*EMPTY*/} + for (count = 0; temp[count].keysym; count++) { + /*EMPTY*/ + } } - else count = 0; - if (! keysymR){ - number = 1;pair = FALSE; - } else{ - number = 2;pair = TRUE; + else + count = 0; + if (!keysymR) { + number = 1; + pair = FALSE; + } + else { + number = 2; + pair = TRUE; } - temp = (LateBindingsPtr)XtRealloc((char *)temp, - (unsigned)((count+number+1) * sizeof(LateBindings)) ); + temp = (LateBindingsPtr) XtRealloc((char *) temp, + (unsigned) ((count + number + + 1) * + sizeof(LateBindings))); *lateBindings = temp; XtSetBit(temp[count].knot, notL); XtSetBit(temp[count].pair, pair); - if (count == 0) - temp[count].ref_count = 1; + if (count == 0) + temp[count].ref_count = 1; temp[count++].keysym = keysymL; - if (keysymR){ + if (keysymR) { XtSetBit(temp[count].knot, notR); temp[count].pair = FALSE; - temp[count].ref_count = 0; + temp[count].ref_count = 0; temp[count++].keysym = keysymR; } temp[count].knot = temp[count].pair = FALSE; @@ -574,112 +583,115 @@ static void StoreLateBindings( } } -static void _XtParseKeysymMod( - String name, - LateBindingsPtr* lateBindings, - Boolean notFlag, - Value *valueP, - Boolean *error) +static void +_XtParseKeysymMod(String name, + LateBindingsPtr * lateBindings, + Boolean notFlag, + Value * valueP, + Boolean * error) { KeySym keySym; + keySym = StringToKeySym(name, error); *valueP = 0; if (keySym != NoSymbol) { - StoreLateBindings(keySym,notFlag,(KeySym) NULL,FALSE,lateBindings); + StoreLateBindings(keySym, notFlag, (KeySym) NULL, FALSE, lateBindings); } } -static Boolean _XtLookupModifier( - XrmQuark signature, - LateBindingsPtr* lateBindings, - Boolean notFlag, - Value *valueP, - Bool constMask) +static Boolean +_XtLookupModifier(XrmQuark signature, + LateBindingsPtr * lateBindings, + Boolean notFlag, + Value * valueP, + Bool constMask) { int left, right; static int previous = 0; LOCK_PROCESS; if (signature == modifiers[previous].signature) { - if (constMask) *valueP = modifiers[previous].value; - else /* if (modifiers[previous].modifierParseProc) always true */ - (*modifiers[previous].modifierParseProc) - (modifiers[previous].value, lateBindings, notFlag, valueP); - UNLOCK_PROCESS; - return TRUE; + if (constMask) + *valueP = modifiers[previous].value; + else /* if (modifiers[previous].modifierParseProc) always true */ + (*modifiers[previous].modifierParseProc) + (modifiers[previous].value, lateBindings, notFlag, valueP); + UNLOCK_PROCESS; + return TRUE; } left = 0; right = XtNumber(modifiers) - 1; while (left <= right) { - int i = (left + right) >> 1; - if (signature < modifiers[i].signature) - right = i - 1; - else if (signature > modifiers[i].signature) - left = i + 1; - else { - previous = i; - if (constMask) *valueP = modifiers[i].value; - else /* if (modifiers[i].modifierParseProc) always true */ - (*modifiers[i].modifierParseProc) - (modifiers[i].value, lateBindings, notFlag, valueP); - UNLOCK_PROCESS; - return TRUE; - } + int i = (left + right) >> 1; + + if (signature < modifiers[i].signature) + right = i - 1; + else if (signature > modifiers[i].signature) + left = i + 1; + else { + previous = i; + if (constMask) + *valueP = modifiers[i].value; + else /* if (modifiers[i].modifierParseProc) always true */ + (*modifiers[i].modifierParseProc) + (modifiers[i].value, lateBindings, notFlag, valueP); + UNLOCK_PROCESS; + return TRUE; + } } UNLOCK_PROCESS; return FALSE; } - -static String ScanIdent( - register String str) +static String +ScanIdent(register String str) { ScanAlphanumeric(str); - while ( - ('A' <= *str && *str <= 'Z') - || ('a' <= *str && *str <= 'z') - || ('0' <= *str && *str <= '9') - || (*str == '-') - || (*str == '_') - || (*str == '$') - ) str++; + while (('A' <= *str && *str <= 'Z') + || ('a' <= *str && *str <= 'z') + || ('0' <= *str && *str <= '9') + || (*str == '-') + || (*str == '_') + || (*str == '$') + ) + str++; return str; } -static String FetchModifierToken( - String str, - XrmQuark *token_return) +static String +FetchModifierToken(String str, XrmQuark *token_return) { String start = str; if (*str == '$') { *token_return = QMeta; str++; - } else if (*str == '^') { + } + else if (*str == '^') { *token_return = QCtrl; str++; - } else { - str = ScanIdent(str); - if (start != str) { - char modStrbuf[100]; - char* modStr; - - modStr = XtStackAlloc ((size_t)(str - start + 1), modStrbuf); - if (modStr == NULL) _XtAllocError (NULL); - (void) memmove(modStr, start, (size_t) (str - start)); - modStr[str-start] = '\0'; - *token_return = XrmStringToQuark(modStr); - XtStackFree (modStr, modStrbuf); - } + } + else { + str = ScanIdent(str); + if (start != str) { + char modStrbuf[100]; + char *modStr; + + modStr = XtStackAlloc((size_t) (str - start + 1), modStrbuf); + if (modStr == NULL) + _XtAllocError(NULL); + (void) memmove(modStr, start, (size_t) (str - start)); + modStr[str - start] = '\0'; + *token_return = XrmStringToQuark(modStr); + XtStackFree(modStr, modStrbuf); + } } return str; } -static String ParseModifiers( - register String str, - EventPtr event, - Boolean* error) +static String +ParseModifiers(register String str, EventPtr event, Boolean * error) { register String start; Boolean notFlag, exclusive, keysymAsMod; @@ -691,200 +703,223 @@ static String ParseModifiers( str = FetchModifierToken(str, &Qmod); exclusive = FALSE; if (start != str) { - if (Qmod == QNone) { - event->event.modifierMask = (unsigned long) (~0); - event->event.modifiers = 0; - ScanWhitespace(str); - return str; - } else if (Qmod == QAny) { /*backward compatability*/ - event->event.modifierMask = 0; - event->event.modifiers = AnyModifier; - ScanWhitespace(str); - return str; - } - str = start; /*if plain modifier, reset to beginning */ - } - else while (*str == '!' || *str == ':') { - if (*str == '!') { - exclusive = TRUE; - str++; - ScanWhitespace(str); + if (Qmod == QNone) { + event->event.modifierMask = (unsigned long) (~0); + event->event.modifiers = 0; + ScanWhitespace(str); + return str; } - if (*str == ':') { - event->event.standard = TRUE; - str++; - ScanWhitespace(str); + else if (Qmod == QAny) { /*backward compatability */ + event->event.modifierMask = 0; + event->event.modifiers = AnyModifier; + ScanWhitespace(str); + return str; } + str = start; /*if plain modifier, reset to beginning */ } + else + while (*str == '!' || *str == ':') { + if (*str == '!') { + exclusive = TRUE; + str++; + ScanWhitespace(str); + } + if (*str == ':') { + event->event.standard = TRUE; + str++; + ScanWhitespace(str); + } + } while (*str != '<') { if (*str == '~') { - notFlag = TRUE; - str++; - } else - notFlag = FALSE; + notFlag = TRUE; + str++; + } + else + notFlag = FALSE; if (*str == '@') { keysymAsMod = TRUE; str++; } - else keysymAsMod = FALSE; - start = str; + else + keysymAsMod = FALSE; + start = str; str = FetchModifierToken(str, &Qmod); if (start == str) { - Syntax("Modifier or '<' expected",""); + Syntax("Modifier or '<' expected", ""); + *error = TRUE; + return PanicModeRecovery(str); + } + if (keysymAsMod) { + _XtParseKeysymMod(XrmQuarkToString(Qmod), + &event->event.lateModifiers, + notFlag, &maskBit, error); + if (*error) + return PanicModeRecovery(str); + + } + else if (!_XtLookupModifier(Qmod, &event->event.lateModifiers, + notFlag, &maskBit, FALSE)) { + Syntax("Unknown modifier name: ", XrmQuarkToString(Qmod)); *error = TRUE; return PanicModeRecovery(str); } - if (keysymAsMod) { - _XtParseKeysymMod(XrmQuarkToString(Qmod), - &event->event.lateModifiers, - notFlag,&maskBit, error); - if (*error) - return PanicModeRecovery(str); - - } else - if (!_XtLookupModifier(Qmod, &event->event.lateModifiers, - notFlag, &maskBit, FALSE)) { - Syntax("Unknown modifier name: ", XrmQuarkToString(Qmod)); - *error = TRUE; - return PanicModeRecovery(str); - } event->event.modifierMask |= maskBit; - if (notFlag) event->event.modifiers = (event->event.modifiers & (TMLongCard) (~maskBit)); - else event->event.modifiers |= maskBit; + if (notFlag) + event->event.modifiers = + (event->event.modifiers & (TMLongCard) (~maskBit)); + else + event->event.modifiers |= maskBit; ScanWhitespace(str); } - if (exclusive) event->event.modifierMask = (unsigned long) (~0); + if (exclusive) + event->event.modifierMask = (unsigned long) (~0); return str; } -static String ParseXtEventType( - register String str, - EventPtr event, - Cardinal *tmEventP, - Boolean* error) +static String +ParseXtEventType(register String str, + EventPtr event, + Cardinal * tmEventP, + Boolean * error) { String start = str; char eventTypeStrbuf[100]; - char* eventTypeStr; + char *eventTypeStr; ScanAlphanumeric(str); - eventTypeStr = XtStackAlloc ((size_t)(str - start + 1), eventTypeStrbuf); - if (eventTypeStr == NULL) _XtAllocError (NULL); - (void) memmove(eventTypeStr, start, (size_t)(str-start)); - eventTypeStr[str-start] = '\0'; - *tmEventP = LookupTMEventType(eventTypeStr,error); - XtStackFree (eventTypeStr, eventTypeStrbuf); + eventTypeStr = XtStackAlloc((size_t) (str - start + 1), eventTypeStrbuf); + if (eventTypeStr == NULL) + _XtAllocError(NULL); + (void) memmove(eventTypeStr, start, (size_t) (str - start)); + eventTypeStr[str - start] = '\0'; + *tmEventP = LookupTMEventType(eventTypeStr, error); + XtStackFree(eventTypeStr, eventTypeStrbuf); if (*error) return PanicModeRecovery(str); event->event.eventType = (TMLongCard) events[*tmEventP].eventType; return str; } -static unsigned long StrToHex( - String str) +static unsigned long +StrToHex(String str) { - register char c; - register unsigned long val = 0; + register char c; + register unsigned long val = 0; while ((c = *str)) { - if ('0' <= c && c <= '9') val = (unsigned long) (val * 16 + (unsigned long)c - '0'); - else if ('a' <= c && c <= 'z') val = (unsigned long) (val*16+(unsigned long)c-'a'+10); - else if ('A' <= c && c <= 'Z') val = (unsigned long) (val*16+(unsigned long)c-'A'+10); - else return 0; - str++; + if ('0' <= c && c <= '9') + val = (unsigned long) (val * 16 + (unsigned long) c - '0'); + else if ('a' <= c && c <= 'z') + val = (unsigned long) (val * 16 + (unsigned long) c - 'a' + 10); + else if ('A' <= c && c <= 'Z') + val = (unsigned long) (val * 16 + (unsigned long) c - 'A' + 10); + else + return 0; + str++; } return val; } -static unsigned long StrToOct( - String str) +static unsigned long +StrToOct(String str) { register char c; - register unsigned long val = 0; + register unsigned long val = 0; while ((c = *str)) { - if ('0' <= c && c <= '7') val = val*8+(unsigned long)c-'0'; else return 0; - str++; + if ('0' <= c && c <= '7') + val = val * 8 + (unsigned long) c - '0'; + else + return 0; + str++; } return val; } -static unsigned long StrToNum( - String str) +static unsigned long +StrToNum(String str) { register char c; register unsigned long val = 0; if (*str == '0') { - str++; - if (*str == 'x' || *str == 'X') return StrToHex(++str); - else return StrToOct(str); + str++; + if (*str == 'x' || *str == 'X') + return StrToHex(++str); + else + return StrToOct(str); } while ((c = *str)) { - if ('0' <= c && c <= '9') val = val*10+(unsigned long)c-'0'; - else return 0; - str++; + if ('0' <= c && c <= '9') + val = val * 10 + (unsigned long) c - '0'; + else + return 0; + str++; } return val; } -static KeySym StringToKeySym( - String str, - Boolean *error) +static KeySym +StringToKeySym(String str, Boolean * error) { KeySym k; - if (str == NULL || *str == '\0') return (KeySym) 0; + if (str == NULL || *str == '\0') + return (KeySym) 0; #ifndef NOTASCII /* special case single character ASCII, for speed */ - if (*(str+1) == '\0') { - if (' ' <= *str && *str <= '~') return (KeySym) (XK_space + (*str - ' ')); + if (*(str + 1) == '\0') { + if (' ' <= *str && *str <= '~') + return (KeySym) (XK_space + (*str - ' ')); } #endif - if ('0' <= *str && *str <= '9') return (KeySym) StrToNum(str); + if ('0' <= *str && *str <= '9') + return (KeySym) StrToNum(str); k = XStringToKeysym(str); - if (k != NoSymbol) return k; + if (k != NoSymbol) + return k; #ifdef NOTASCII /* fall-back case to preserve backwards compatibility; no-one * should be relying upon this! */ - if (*(str+1) == '\0') return (KeySym) *str; + if (*(str + 1) == '\0') + return (KeySym) * str; #endif Syntax("Unknown keysym name: ", str); *error = TRUE; return NoSymbol; } + /* ARGSUSED */ -static void ParseModImmed( - Value value, - LateBindingsPtr* lateBindings _X_UNUSED, - Boolean notFlag _X_UNUSED, - Value* valueP) +static void +ParseModImmed(Value value, + LateBindingsPtr * lateBindings _X_UNUSED, + Boolean notFlag _X_UNUSED, Value * valueP) { *valueP = value; } - /* is only valid with keysyms that have an _L and _R in their name; - * and ignores keysym lookup errors (i.e. assumes only valid keysyms) - */ -static void ParseModSym( - Value value, - LateBindingsPtr* lateBindings, - Boolean notFlag, - Value* valueP) +/* is only valid with keysyms that have an _L and _R in their name; + * and ignores keysym lookup errors (i.e. assumes only valid keysyms) + */ +static void +ParseModSym(Value value, + LateBindingsPtr * lateBindings, Boolean notFlag, Value * valueP) { - register KeySym keysymL = (KeySym)value; - register KeySym keysymR = keysymL + 1; /* valid for supported keysyms */ - StoreLateBindings(keysymL,notFlag,keysymR,notFlag,lateBindings); + register KeySym keysymL = (KeySym) value; + register KeySym keysymR = keysymL + 1; /* valid for supported keysyms */ + + StoreLateBindings(keysymL, notFlag, keysymR, notFlag, lateBindings); *valueP = 0; } @@ -895,131 +930,131 @@ static void ParseModSym( * of the value passed in. */ static String stupid_optimizer_kludge; + #define BROKEN_OPTIMIZER_HACK(val) stupid_optimizer_kludge = (val) #else #define BROKEN_OPTIMIZER_HACK(val) val #endif /* ARGSUSED */ -static String ParseImmed( - register String str, - register Opaque closure, - register EventPtr event, - Boolean* error _X_UNUSED) +static String +ParseImmed(register String str, + register Opaque closure, + register EventPtr event, + Boolean * error _X_UNUSED) { - event->event.eventCode = (unsigned long)closure; + event->event.eventCode = (unsigned long) closure; event->event.eventCodeMask = (unsigned long) (~0UL); return BROKEN_OPTIMIZER_HACK(str); } /* ARGSUSED */ -static String ParseAddModifier( - register String str, - register Opaque closure, - register EventPtr event, - Boolean* error _X_UNUSED) +static String +ParseAddModifier(register String str, + register Opaque closure, + register EventPtr event, + Boolean * error _X_UNUSED) { - register unsigned long modval = (unsigned long)closure; + register unsigned long modval = (unsigned long) closure; + event->event.modifiers |= modval; - if (modval != AnyButtonMask) /* AnyButtonMask is don't-care mask */ - event->event.modifierMask |= modval; + if (modval != AnyButtonMask) /* AnyButtonMask is don't-care mask */ + event->event.modifierMask |= modval; return BROKEN_OPTIMIZER_HACK(str); } - -static String ParseKeyAndModifiers( - String str, - Opaque closure, - EventPtr event, - Boolean* error) +static String +ParseKeyAndModifiers(String str, + Opaque closure, + EventPtr event, + Boolean * error) { - str = ParseKeySym(str, closure, event,error); + str = ParseKeySym(str, closure, event, error); if ((unsigned long) closure == 0) { - Value metaMask; /* unused */ - (void) _XtLookupModifier(QMeta, &event->event.lateModifiers, FALSE, - &metaMask, FALSE); - } else { - event->event.modifiers |= (unsigned long) closure; - event->event.modifierMask |= (unsigned long) closure; + Value metaMask; /* unused */ + + (void) _XtLookupModifier(QMeta, &event->event.lateModifiers, FALSE, + &metaMask, FALSE); + } + else { + event->event.modifiers |= (unsigned long) closure; + event->event.modifierMask |= (unsigned long) closure; } return str; } /*ARGSUSED*/ -static String ParseKeySym( - register String str, - Opaque closure _X_UNUSED, - EventPtr event, - Boolean* error) +static String +ParseKeySym(register String str, + Opaque closure _X_UNUSED, + EventPtr event, + Boolean * error) { String start; char keySymNamebuf[100]; - char* keySymName = NULL; + char *keySymName = NULL; ScanWhitespace(str); if (*str == '\\') { - keySymName = keySymNamebuf; - str++; - keySymName[0] = *str; - if (*str != '\0' && !IsNewline(*str)) str++; - keySymName[1] = '\0'; - event->event.eventCode = StringToKeySym(keySymName, error); - event->event.eventCodeMask = (unsigned long) (~0L); - } else if (*str == ',' || *str == ':' || + keySymName = keySymNamebuf; + str++; + keySymName[0] = *str; + if (*str != '\0' && !IsNewline(*str)) + str++; + keySymName[1] = '\0'; + event->event.eventCode = StringToKeySym(keySymName, error); + event->event.eventCodeMask = (unsigned long) (~0L); + } + else if (*str == ',' || *str == ':' || /* allow leftparen to be single char symbol, * for backwards compatibility */ - (*str == '(' && *(str+1) >= '0' && *(str+1) <= '9')) { - keySymName = keySymNamebuf; /* just so we can stackfree it later */ - /* no detail */ - event->event.eventCode = 0L; + (*str == '(' && *(str + 1) >= '0' && *(str + 1) <= '9')) { + keySymName = keySymNamebuf; /* just so we can stackfree it later */ + /* no detail */ + event->event.eventCode = 0L; event->event.eventCodeMask = 0L; - } else { - start = str; - while ( - *str != ',' - && *str != ':' - && *str != ' ' - && *str != '\t' - && !IsNewline(*str) - && (*str != '(' || *(str+1) <= '0' || *(str+1) >= '9') - && *str != '\0') str++; - keySymName = XtStackAlloc ((size_t)(str - start + 1), keySymNamebuf); - (void) memmove(keySymName, start, (size_t) (str-start)); - keySymName[str-start] = '\0'; - event->event.eventCode = StringToKeySym(keySymName, error); - event->event.eventCodeMask = (unsigned long) (~0L); + } + else { + start = str; + while (*str != ',' + && *str != ':' && *str != ' ' && *str != '\t' && !IsNewline(*str) + && (*str != '(' || *(str + 1) <= '0' || *(str + 1) >= '9') + && *str != '\0') + str++; + keySymName = XtStackAlloc((size_t) (str - start + 1), keySymNamebuf); + (void) memmove(keySymName, start, (size_t) (str - start)); + keySymName[str - start] = '\0'; + event->event.eventCode = StringToKeySym(keySymName, error); + event->event.eventCodeMask = (unsigned long) (~0L); } if (*error && keySymName) { - /* We never get here when keySymName hasn't been allocated */ - if (keySymName[0] == '<') { - /* special case for common error */ - XtWarningMsg(XtNtranslationParseError, "missingComma", - XtCXtToolkitError, - "... possibly due to missing ',' in event sequence.", - (String*)NULL, (Cardinal*)NULL); - } - XtStackFree (keySymName, keySymNamebuf); - return PanicModeRecovery(str); + /* We never get here when keySymName hasn't been allocated */ + if (keySymName[0] == '<') { + /* special case for common error */ + XtWarningMsg(XtNtranslationParseError, "missingComma", + XtCXtToolkitError, + "... possibly due to missing ',' in event sequence.", + (String *) NULL, (Cardinal *) NULL); + } + XtStackFree(keySymName, keySymNamebuf); + return PanicModeRecovery(str); } if (event->event.standard) - event->event.matchEvent = _XtMatchUsingStandardMods; + event->event.matchEvent = _XtMatchUsingStandardMods; else - event->event.matchEvent = _XtMatchUsingDontCareMods; + event->event.matchEvent = _XtMatchUsingDontCareMods; - XtStackFree (keySymName, keySymNamebuf); + XtStackFree(keySymName, keySymNamebuf); return str; } -static String ParseTable( - register String str, - Opaque closure, - EventPtr event, - Boolean* error) +static String +ParseTable(register String str, Opaque closure, EventPtr event, Boolean * error) { register String start = str; register XrmQuark signature; @@ -1028,33 +1063,35 @@ static String ParseTable( event->event.eventCode = 0L; ScanAlphanumeric(str); - if (str == start) {event->event.eventCodeMask = 0L; return str; } - if (str-start >= 99) { - Syntax("Invalid Detail Type (string is too long).", ""); - *error = TRUE; - return str; - } - (void) memmove(tableSymName, start, (size_t) (str-start)); - tableSymName[str-start] = '\0'; + if (str == start) { + event->event.eventCodeMask = 0L; + return str; + } + if (str - start >= 99) { + Syntax("Invalid Detail Type (string is too long).", ""); + *error = TRUE; + return str; + } + (void) memmove(tableSymName, start, (size_t) (str - start)); + tableSymName[str - start] = '\0'; signature = StringToQuark(tableSymName); for (; table->signature != NULLQUARK; table++) - if (table->signature == signature) { - event->event.eventCode = table->value; - event->event.eventCodeMask = (unsigned long) (~0L); - return str; - } + if (table->signature == signature) { + event->event.eventCode = table->value; + event->event.eventCodeMask = (unsigned long) (~0L); + return str; + } Syntax("Unknown Detail Type: ", tableSymName); *error = TRUE; return PanicModeRecovery(str); } -/*ARGSUSED*/ -static String ParseNone( - String str, - Opaque closure _X_UNUSED, - EventPtr event, - Boolean* error _X_UNUSED) + /*ARGSUSED*/ static String +ParseNone(String str, + Opaque closure _X_UNUSED, + EventPtr event, + Boolean * error _X_UNUSED) { event->event.eventCode = 0; event->event.eventCodeMask = 0; @@ -1062,39 +1099,34 @@ static String ParseNone( return BROKEN_OPTIMIZER_HACK(str); } -/*ARGSUSED*/ -static String ParseAtom( - String str, - Opaque closure _X_UNUSED, - EventPtr event, - Boolean* error) + /*ARGSUSED*/ static String +ParseAtom(String str, Opaque closure _X_UNUSED, EventPtr event, Boolean * error) { ScanWhitespace(str); if (*str == ',' || *str == ':') { - /* no detail */ - event->event.eventCode = 0L; + /* no detail */ + event->event.eventCode = 0L; event->event.eventCodeMask = 0L; - } else { - String start; - char atomName[1000]; - start = str; - while ( - *str != ',' - && *str != ':' - && *str != ' ' - && *str != '\t' - && !IsNewline(*str) - && *str != '\0') str++; - if (str-start >= 999) { - Syntax( "Atom name must be less than 1000 characters long.", "" ); - *error = TRUE; - return str; - } - (void) memmove(atomName, start, (size_t) (str-start)); - atomName[str-start] = '\0'; - event->event.eventCode = (TMLongCard) XrmStringToQuark(atomName); - event->event.matchEvent = _XtMatchAtom; + } + else { + String start; + char atomName[1000]; + + start = str; + while (*str != ',' + && *str != ':' && *str != ' ' && *str != '\t' && !IsNewline(*str) + && *str != '\0') + str++; + if (str - start >= 999) { + Syntax("Atom name must be less than 1000 characters long.", ""); + *error = TRUE; + return str; + } + (void) memmove(atomName, start, (size_t) (str - start)); + atomName[str - start] = '\0'; + event->event.eventCode = (TMLongCard) XrmStringToQuark(atomName); + event->event.matchEvent = _XtMatchAtom; } return str; } @@ -1102,80 +1134,91 @@ static String ParseAtom( static ModifierMask buttonModifierMasks[] = { 0, Button1Mask, Button2Mask, Button3Mask, Button4Mask, Button5Mask }; + static String ParseRepeat(String, int *, Boolean *, Boolean *); -static String ParseEvent( - register String str, - EventPtr event, - int* reps, - Boolean* plus, - Boolean* error) +static String +ParseEvent(register String str, + EventPtr event, int *reps, + Boolean * plus, + Boolean * error) { - Cardinal tmEvent; + Cardinal tmEvent; - str = ParseModifiers(str, event,error); - if (*error) return str; + str = ParseModifiers(str, event, error); + if (*error) + return str; if (*str != '<') { - Syntax("Missing '<' while parsing event type.",""); - *error = TRUE; - return PanicModeRecovery(str); - } - else str++; - str = ParseXtEventType(str, event, &tmEvent,error); - if (*error) return str; - if (*str != '>'){ - Syntax("Missing '>' while parsing event type",""); - *error = TRUE; - return PanicModeRecovery(str); - } - else str++; + Syntax("Missing '<' while parsing event type.", ""); + *error = TRUE; + return PanicModeRecovery(str); + } + else + str++; + str = ParseXtEventType(str, event, &tmEvent, error); + if (*error) + return str; + if (*str != '>') { + Syntax("Missing '>' while parsing event type", ""); + *error = TRUE; + return PanicModeRecovery(str); + } + else + str++; if (*str == '(') { - str = ParseRepeat(str, reps, plus, error); - if (*error) return str; + str = ParseRepeat(str, reps, plus, error); + if (*error) + return str; } - str = (*(events[tmEvent].parseDetail))( - str, events[tmEvent].closure, event,error); - if (*error) return str; + str = + (*(events[tmEvent].parseDetail)) (str, events[tmEvent].closure, event, + error); + if (*error) + return str; /* gross hack! ||| this kludge is related to the X11 protocol deficiency w.r.t. * modifiers in grabs. */ if ((event->event.eventType == ButtonRelease) - && (event->event.modifiers | event->event.modifierMask) /* any */ - && (event->event.modifiers != AnyModifier)) - { - event->event.modifiers = (event->event.modifiers - | (TMLongCard) buttonModifierMasks[event->event.eventCode]); - /* the button that is going up will always be in the modifiers... */ + && (event->event.modifiers | event->event.modifierMask) /* any */ + &&(event->event.modifiers != AnyModifier)) { + event->event.modifiers = (event->event.modifiers + | (TMLongCard) buttonModifierMasks[event-> + event. + eventCode]); + /* the button that is going up will always be in the modifiers... */ } return str; } -static String ParseQuotedStringEvent( - register String str, - register EventPtr event, - Boolean *error) +static String +ParseQuotedStringEvent(register String str, + register EventPtr event, + Boolean * error) { Value metaMask; - char s[2]; + char s[2]; - if (*str=='^') { - str++; - event->event.modifiers = ControlMask; - } else if (*str == '$') { - str++; - (void) _XtLookupModifier(QMeta, &event->event.lateModifiers, FALSE, - &metaMask, FALSE); + if (*str == '^') { + str++; + event->event.modifiers = ControlMask; + } + else if (*str == '$') { + str++; + (void) _XtLookupModifier(QMeta, &event->event.lateModifiers, FALSE, + &metaMask, FALSE); } if (*str == '\\') - str++; + str++; s[0] = *str; s[1] = '\0'; - if (*str != '\0' && !IsNewline(*str)) str++; + if (*str != '\0' && !IsNewline(*str)) + str++; event->event.eventType = KeyPress; event->event.eventCode = StringToKeySym(s, error); - if (*error) return PanicModeRecovery(str); + if (*error) + return PanicModeRecovery(str); event->event.eventCodeMask = (unsigned long) (~0L); event->event.matchEvent = _XtMatchUsingStandardMods; event->event.standard = TRUE; @@ -1183,7 +1226,6 @@ static String ParseQuotedStringEvent( return str; } - static EventSeqRec timerEventRec = { {0, 0, NULL, _XtEventTimerEventType, 0L, 0L, NULL, False}, /* (StatePtr) -1 */ NULL, @@ -1191,10 +1233,8 @@ static EventSeqRec timerEventRec = { NULL }; -static void RepeatDown( - EventPtr *eventP, - int reps, - ActionPtr **actionsP) +static void +RepeatDown(EventPtr * eventP, int reps, ActionPtr ** actionsP) { EventRec upEventRec; register EventPtr event, downEvent; @@ -1204,32 +1244,36 @@ static void RepeatDown( downEvent = event = *eventP; *upEvent = *downEvent; upEvent->event.eventType = ((event->event.eventType == ButtonPress) ? - ButtonRelease : KeyRelease); + ButtonRelease : KeyRelease); if ((upEvent->event.eventType == ButtonRelease) - && (upEvent->event.modifiers != AnyModifier) + && (upEvent->event.modifiers != AnyModifier) && (upEvent->event.modifiers | upEvent->event.modifierMask)) - upEvent->event.modifiers = (upEvent->event.modifiers - | (TMLongCard) buttonModifierMasks[event->event.eventCode]); + upEvent->event.modifiers = (upEvent->event.modifiers + | (TMLongCard) buttonModifierMasks[event-> + event. + eventCode]); if (event->event.lateModifiers) - event->event.lateModifiers->ref_count = (unsigned short) (event->event.lateModifiers->ref_count + (reps - 1) * 2); + event->event.lateModifiers->ref_count = + (unsigned short) (event->event.lateModifiers->ref_count + + (reps - 1) * 2); - for (i=1; i<reps; i++) { + for (i = 1; i < reps; i++) { - /* up */ - event->next = XtNew(EventSeqRec); - event = event->next; - *event = *upEvent; + /* up */ + event->next = XtNew(EventSeqRec); + event = event->next; + *event = *upEvent; - /* timer */ - event->next = XtNew(EventSeqRec); - event = event->next; - *event = timerEventRec; + /* timer */ + event->next = XtNew(EventSeqRec); + event = event->next; + *event = timerEventRec; - /* down */ - event->next = XtNew(EventSeqRec); - event = event->next; - *event = *downEvent; + /* down */ + event->next = XtNew(EventSeqRec); + event = event->next; + *event = *downEvent; } @@ -1238,10 +1282,8 @@ static void RepeatDown( *actionsP = &event->actions; } -static void RepeatDownPlus( - EventPtr *eventP, - int reps, - ActionPtr **actionsP) +static void +RepeatDownPlus(EventPtr * eventP, int reps, ActionPtr ** actionsP) { EventRec upEventRec; register EventPtr event, downEvent, lastDownEvent = NULL; @@ -1251,35 +1293,39 @@ static void RepeatDownPlus( downEvent = event = *eventP; *upEvent = *downEvent; upEvent->event.eventType = ((event->event.eventType == ButtonPress) ? - ButtonRelease : KeyRelease); + ButtonRelease : KeyRelease); if ((upEvent->event.eventType == ButtonRelease) - && (upEvent->event.modifiers != AnyModifier) + && (upEvent->event.modifiers != AnyModifier) && (upEvent->event.modifiers | upEvent->event.modifierMask)) - upEvent->event.modifiers = (upEvent->event.modifiers - | (TMLongCard) buttonModifierMasks[event->event.eventCode]); + upEvent->event.modifiers = (upEvent->event.modifiers + | (TMLongCard) buttonModifierMasks[event-> + event. + eventCode]); if (event->event.lateModifiers) - event->event.lateModifiers->ref_count = (unsigned short) (event->event.lateModifiers->ref_count + reps * 2 - 1); + event->event.lateModifiers->ref_count = + (unsigned short) (event->event.lateModifiers->ref_count + reps * 2 - + 1); - for (i=0; i<reps; i++) { + for (i = 0; i < reps; i++) { - if (i > 0) { - /* down */ - event->next = XtNew(EventSeqRec); - event = event->next; - *event = *downEvent; - } - lastDownEvent = event; + if (i > 0) { + /* down */ + event->next = XtNew(EventSeqRec); + event = event->next; + *event = *downEvent; + } + lastDownEvent = event; - /* up */ - event->next = XtNew(EventSeqRec); - event = event->next; - *event = *upEvent; + /* up */ + event->next = XtNew(EventSeqRec); + event = event->next; + *event = *upEvent; - /* timer */ - event->next = XtNew(EventSeqRec); - event = event->next; - *event = timerEventRec; + /* timer */ + event->next = XtNew(EventSeqRec); + event = event->next; + *event = timerEventRec; } @@ -1288,10 +1334,8 @@ static void RepeatDownPlus( *actionsP = &lastDownEvent->actions; } -static void RepeatUp( - EventPtr *eventP, - int reps, - ActionPtr **actionsP) +static void +RepeatUp(EventPtr * eventP, int reps, ActionPtr ** actionsP) { EventRec upEventRec; register EventPtr event, downEvent; @@ -1305,49 +1349,51 @@ static void RepeatUp( downEvent = event = *eventP; *upEvent = *downEvent; downEvent->event.eventType = ((event->event.eventType == ButtonRelease) ? - ButtonPress : KeyPress); + ButtonPress : KeyPress); if ((downEvent->event.eventType == ButtonPress) - && (downEvent->event.modifiers != AnyModifier) + && (downEvent->event.modifiers != AnyModifier) && (downEvent->event.modifiers | downEvent->event.modifierMask)) - downEvent->event.modifiers = (downEvent->event.modifiers - & (TMLongCard) (~buttonModifierMasks[event->event.eventCode])); + downEvent->event.modifiers = (downEvent->event.modifiers + & + (TMLongCard) (~buttonModifierMasks + [event->event.eventCode])); if (event->event.lateModifiers) - event->event.lateModifiers->ref_count = (unsigned short) (event->event.lateModifiers->ref_count + reps * 2 - 1); + event->event.lateModifiers->ref_count = + (unsigned short) (event->event.lateModifiers->ref_count + reps * 2 - + 1); /* up */ event->next = XtNew(EventSeqRec); event = event->next; *event = *upEvent; - for (i=1; i<reps; i++) { + for (i = 1; i < reps; i++) { - /* timer */ - event->next = XtNew(EventSeqRec); - event = event->next; - *event = timerEventRec; + /* timer */ + event->next = XtNew(EventSeqRec); + event = event->next; + *event = timerEventRec; - /* down */ - event->next = XtNew(EventSeqRec); - event = event->next; - *event = *downEvent; + /* down */ + event->next = XtNew(EventSeqRec); + event = event->next; + *event = *downEvent; - /* up */ - event->next = XtNew(EventSeqRec); - event = event->next; - *event = *upEvent; + /* up */ + event->next = XtNew(EventSeqRec); + event = event->next; + *event = *upEvent; - } + } event->next = NULL; *eventP = event; *actionsP = &event->actions; } -static void RepeatUpPlus( - EventPtr *eventP, - int reps, - ActionPtr **actionsP) +static void +RepeatUpPlus(EventPtr * eventP, int reps, ActionPtr ** actionsP) { EventRec upEventRec; register EventPtr event, downEvent, lastUpEvent = NULL; @@ -1361,44 +1407,45 @@ static void RepeatUpPlus( downEvent = event = *eventP; *upEvent = *downEvent; downEvent->event.eventType = ((event->event.eventType == ButtonRelease) ? - ButtonPress : KeyPress); + ButtonPress : KeyPress); if ((downEvent->event.eventType == ButtonPress) - && (downEvent->event.modifiers != AnyModifier) + && (downEvent->event.modifiers != AnyModifier) && (downEvent->event.modifiers | downEvent->event.modifierMask)) - downEvent->event.modifiers = (downEvent->event.modifiers - & (TMLongCard) (~buttonModifierMasks[event->event.eventCode])); + downEvent->event.modifiers = (downEvent->event.modifiers + & + (TMLongCard) (~buttonModifierMasks + [event->event.eventCode])); if (event->event.lateModifiers) - event->event.lateModifiers->ref_count = (unsigned short) (event->event.lateModifiers->ref_count + reps * 2); + event->event.lateModifiers->ref_count = + (unsigned short) (event->event.lateModifiers->ref_count + reps * 2); - for (i=0; i<reps; i++) { + for (i = 0; i < reps; i++) { - /* up */ - event->next = XtNew(EventSeqRec); - lastUpEvent = event = event->next; - *event = *upEvent; + /* up */ + event->next = XtNew(EventSeqRec); + lastUpEvent = event = event->next; + *event = *upEvent; - /* timer */ - event->next = XtNew(EventSeqRec); - event = event->next; - *event = timerEventRec; + /* timer */ + event->next = XtNew(EventSeqRec); + event = event->next; + *event = timerEventRec; - /* down */ - event->next = XtNew(EventSeqRec); + /* down */ + event->next = XtNew(EventSeqRec); event = event->next; - *event = *downEvent; + *event = *downEvent; - } + } event->next = lastUpEvent; *eventP = event; *actionsP = &lastUpEvent->actions; } -static void RepeatOther( - EventPtr *eventP, - int reps, - ActionPtr **actionsP) +static void +RepeatOther(EventPtr * eventP, int reps, ActionPtr ** actionsP) { register EventPtr event, tempEvent; register int i; @@ -1406,22 +1453,21 @@ static void RepeatOther( tempEvent = event = *eventP; if (event->event.lateModifiers) - event->event.lateModifiers->ref_count = (unsigned short) (event->event.lateModifiers->ref_count + reps - 1); + event->event.lateModifiers->ref_count = + (unsigned short) (event->event.lateModifiers->ref_count + reps - 1); - for (i=1; i<reps; i++) { - event->next = XtNew(EventSeqRec); - event = event->next; - *event = *tempEvent; + for (i = 1; i < reps; i++) { + event->next = XtNew(EventSeqRec); + event = event->next; + *event = *tempEvent; } *eventP = event; *actionsP = &event->actions; } -static void RepeatOtherPlus( - EventPtr *eventP, - int reps, - ActionPtr **actionsP) +static void +RepeatOtherPlus(EventPtr * eventP, int reps, ActionPtr ** actionsP) { register EventPtr event, tempEvent; register int i; @@ -1429,12 +1475,13 @@ static void RepeatOtherPlus( tempEvent = event = *eventP; if (event->event.lateModifiers) - event->event.lateModifiers->ref_count = (unsigned short) (event->event.lateModifiers->ref_count + reps - 1); + event->event.lateModifiers->ref_count = + (unsigned short) (event->event.lateModifiers->ref_count + reps - 1); - for (i=1; i<reps; i++) { - event->next = XtNew(EventSeqRec); - event = event->next; - *event = *tempEvent; + for (i = 1; i < reps; i++) { + event->next = XtNew(EventSeqRec); + event = event->next; + *event = *tempEvent; } event->next = event; @@ -1442,74 +1489,77 @@ static void RepeatOtherPlus( *actionsP = &event->actions; } -static void RepeatEvent( - EventPtr *eventP, - int reps, - Boolean plus, - ActionPtr **actionsP) +static void +RepeatEvent(EventPtr * eventP, int reps, Boolean plus, ActionPtr ** actionsP) { switch ((*eventP)->event.eventType) { - case ButtonPress: - case KeyPress: - if (plus) RepeatDownPlus(eventP, reps, actionsP); - else RepeatDown(eventP, reps, actionsP); - break; - - case ButtonRelease: - case KeyRelease: - if (plus) RepeatUpPlus(eventP, reps, actionsP); - else RepeatUp(eventP, reps, actionsP); - break; - - default: - if (plus) RepeatOtherPlus(eventP, reps, actionsP); - else RepeatOther(eventP, reps, actionsP); + case ButtonPress: + case KeyPress: + if (plus) + RepeatDownPlus(eventP, reps, actionsP); + else + RepeatDown(eventP, reps, actionsP); + break; + + case ButtonRelease: + case KeyRelease: + if (plus) + RepeatUpPlus(eventP, reps, actionsP); + else + RepeatUp(eventP, reps, actionsP); + break; + + default: + if (plus) + RepeatOtherPlus(eventP, reps, actionsP); + else + RepeatOther(eventP, reps, actionsP); } } -static String ParseRepeat( - register String str, - int *reps, - Boolean *plus, Boolean *error) +static String +ParseRepeat(register String str, int *reps, Boolean * plus, Boolean * error) { /*** Parse the repetitions, for double click etc... ***/ - if (*str != '(' || !(isdigit((unsigned char)str[1]) || str[1] == '+' || str[1] == ')')) - return str; + if (*str != '(' || + !(isdigit((unsigned char) str[1]) || str[1] == '+' || str[1] == ')')) + return str; str++; - if (isdigit((unsigned char)*str)) { - String start = str; - char repStr[7]; - size_t len; - - ScanNumeric(str); - len = (size_t) (str - start); - if (len < sizeof repStr) { - (void) memmove(repStr, start, len); - repStr[len] = '\0'; - *reps = (int) StrToNum(repStr); - } else { - Syntax("Repeat count too large.", ""); - *error = TRUE; - return str; - } + if (isdigit((unsigned char) *str)) { + String start = str; + char repStr[7]; + size_t len; + + ScanNumeric(str); + len = (size_t) (str - start); + if (len < sizeof repStr) { + (void) memmove(repStr, start, len); + repStr[len] = '\0'; + *reps = (int) StrToNum(repStr); + } + else { + Syntax("Repeat count too large.", ""); + *error = TRUE; + return str; + } } if (*reps == 0) { - Syntax("Missing repeat count.",""); - *error = True; - return str; + Syntax("Missing repeat count.", ""); + *error = True; + return str; } if (*str == '+') { - *plus = TRUE; - str++; + *plus = TRUE; + str++; } if (*str == ')') - str++; + str++; else { - Syntax("Missing ')'.",""); - *error = TRUE; + Syntax("Missing ')'.", ""); + *error = TRUE; } return str; @@ -1523,53 +1573,55 @@ static String ParseRepeat( * event seq (in a passed in variable), having updated the String **********************************************************************/ -static String ParseEventSeq( - register String str, - EventSeqPtr *eventSeqP, - ActionPtr **actionsP, - Boolean *error) +static String +ParseEventSeq(register String str, + EventSeqPtr * eventSeqP, + ActionPtr ** actionsP, + Boolean * error) { EventSeqPtr *nextEvent = eventSeqP; *eventSeqP = NULL; - while ( *str != '\0' && !IsNewline(*str)) { - static Event nullEvent = - {0, 0,NULL, 0, 0L, 0L,_XtRegularMatch,FALSE}; - EventPtr event; + while (*str != '\0' && !IsNewline(*str)) { + static Event nullEvent = + { 0, 0, NULL, 0, 0L, 0L, _XtRegularMatch, FALSE }; + EventPtr event; - ScanWhitespace(str); + ScanWhitespace(str); - if (*str == '"') { - str++; - while (*str != '"' && *str != '\0' && !IsNewline(*str)) { + if (*str == '"') { + str++; + while (*str != '"' && *str != '\0' && !IsNewline(*str)) { event = XtNew(EventRec); event->event = nullEvent; event->state = /* (StatePtr) -1 */ NULL; event->next = NULL; event->actions = NULL; - str = ParseQuotedStringEvent(str, event,error); - if (*error) { - XtWarningMsg(XtNtranslationParseError, "nonLatin1", - XtCXtToolkitError, - "... probably due to non-Latin1 character in quoted string", - (String*)NULL, (Cardinal*)NULL); - XtFree((char *)event); - return PanicModeRecovery(str); - } - *nextEvent = event; - *actionsP = &event->actions; - nextEvent = &event->next; - } - if (*str != '"') { - Syntax("Missing '\"'.",""); + str = ParseQuotedStringEvent(str, event, error); + if (*error) { + XtWarningMsg(XtNtranslationParseError, "nonLatin1", + XtCXtToolkitError, + "... probably due to non-Latin1 character in quoted string", + (String *) NULL, (Cardinal *) NULL); + XtFree((char *) event); + return PanicModeRecovery(str); + } + *nextEvent = event; + *actionsP = &event->actions; + nextEvent = &event->next; + } + if (*str != '"') { + Syntax("Missing '\"'.", ""); *error = TRUE; return PanicModeRecovery(str); - } - else str++; - } else { - int reps = 0; - Boolean plus = FALSE; + } + else + str++; + } + else { + int reps = 0; + Boolean plus = FALSE; event = XtNew(EventRec); event->event = nullEvent; @@ -1577,120 +1629,121 @@ static String ParseEventSeq( event->next = NULL; event->actions = NULL; - str = ParseEvent(str, event, &reps, &plus, error); - if (*error) return str; - *nextEvent = event; - *actionsP = &event->actions; - if (reps > 1 || plus) - RepeatEvent(&event, reps, plus, actionsP); - nextEvent = &event->next; - } - ScanWhitespace(str); - if (*str == ':') break; + str = ParseEvent(str, event, &reps, &plus, error); + if (*error) + return str; + *nextEvent = event; + *actionsP = &event->actions; + if (reps > 1 || plus) + RepeatEvent(&event, reps, plus, actionsP); + nextEvent = &event->next; + } + ScanWhitespace(str); + if (*str == ':') + break; else { if (*str != ',') { - Syntax("',' or ':' expected while parsing event sequence.",""); + Syntax("',' or ':' expected while parsing event sequence.", ""); *error = TRUE; return PanicModeRecovery(str); - } else str++; + } + else + str++; } } if (*str != ':') { - Syntax("Missing ':'after event sequence.",""); + Syntax("Missing ':'after event sequence.", ""); *error = TRUE; return PanicModeRecovery(str); - } else str++; + } + else + str++; return str; } - -static String ParseActionProc( - register String str, - XrmQuark *actionProcNameP, - Boolean *error) +static String +ParseActionProc(register String str, XrmQuark *actionProcNameP, Boolean * error) { register String start = str; char procName[200]; str = ScanIdent(str); - if (str-start >= 199) { - Syntax("Action procedure name is longer than 199 chars",""); - *error = TRUE; - return str; - } - (void) memmove(procName, start, (size_t) (str-start)); - procName[str-start] = '\0'; - *actionProcNameP = XrmStringToQuark( procName ); + if (str - start >= 199) { + Syntax("Action procedure name is longer than 199 chars", ""); + *error = TRUE; + return str; + } + (void) memmove(procName, start, (size_t) (str - start)); + procName[str - start] = '\0'; + *actionProcNameP = XrmStringToQuark(procName); return str; } - -static String ParseString( - register String str, - _XtString *strP) +static String +ParseString(register String str, _XtString * strP) { register String start; if (*str == '"') { - register unsigned prev_len, len; - str++; - start = str; - *strP = NULL; - prev_len = 0; - - while (*str != '"' && *str != '\0') { - /* \" produces double quote embedded in a quoted parameter - * \\" produces backslash as last character of a quoted parameter - */ - if (*str == '\\' && - (*(str+1) == '"' || (*(str+1) == '\\' && *(str+2) == '"'))) { - len = (unsigned) (prev_len + (str-start+2)); - *strP = XtRealloc(*strP, len); - (void) memmove(*strP + prev_len, start, (size_t) (str-start)); - prev_len = len-1; - str++; - (*strP)[prev_len-1] = *str; - (*strP)[prev_len] = '\0'; - start = str+1; - } - str++; - } - len = (unsigned) (prev_len + (str-start+1)); - *strP = XtRealloc(*strP, len); - (void) memmove( *strP + prev_len, start, (size_t) (str-start)); - (*strP)[len-1] = '\0'; - if (*str == '"') str++; else - XtWarningMsg(XtNtranslationParseError,"parseString", - XtCXtToolkitError,"Missing '\"'.", - (String *)NULL, (Cardinal *)NULL); - } else { - /* scan non-quoted string, stop on whitespace, ',' or ')' */ - start = str; - while (*str != ' ' - && *str != '\t' - && *str != ',' - && *str != ')' - && !IsNewline(*str) - && *str != '\0') str++; - *strP = __XtMalloc((unsigned)(str-start+1)); - (void) memmove(*strP, start, (size_t) (str-start)); - (*strP)[str-start] = '\0'; + register unsigned prev_len, len; + + str++; + start = str; + *strP = NULL; + prev_len = 0; + + while (*str != '"' && *str != '\0') { + /* \" produces double quote embedded in a quoted parameter + * \\" produces backslash as last character of a quoted parameter + */ + if (*str == '\\' && + (*(str + 1) == '"' || + (*(str + 1) == '\\' && *(str + 2) == '"'))) { + len = (unsigned) (prev_len + (str - start + 2)); + *strP = XtRealloc(*strP, len); + (void) memmove(*strP + prev_len, start, (size_t) (str - start)); + prev_len = len - 1; + str++; + (*strP)[prev_len - 1] = *str; + (*strP)[prev_len] = '\0'; + start = str + 1; + } + str++; + } + len = (unsigned) (prev_len + (str - start + 1)); + *strP = XtRealloc(*strP, len); + (void) memmove(*strP + prev_len, start, (size_t) (str - start)); + (*strP)[len - 1] = '\0'; + if (*str == '"') + str++; + else + XtWarningMsg(XtNtranslationParseError, "parseString", + XtCXtToolkitError, "Missing '\"'.", + (String *) NULL, (Cardinal *) NULL); + } + else { + /* scan non-quoted string, stop on whitespace, ',' or ')' */ + start = str; + while (*str != ' ' + && *str != '\t' && *str != ',' && *str != ')' && !IsNewline(*str) + && *str != '\0') + str++; + *strP = __XtMalloc((unsigned) (str - start + 1)); + (void) memmove(*strP, start, (size_t) (str - start)); + (*strP)[str - start] = '\0'; } return str; } - -static String ParseParamSeq( - register String str, - String **paramSeqP, - Cardinal *paramNumP) +static String +ParseParamSeq(register String str, String ** paramSeqP, Cardinal * paramNumP) { typedef struct _ParamRec *ParamPtr; typedef struct _ParamRec { - ParamPtr next; - String param; + ParamPtr next; + String param; } ParamRec; ParamPtr params = NULL; @@ -1698,116 +1751,120 @@ static String ParseParamSeq( ScanWhitespace(str); while (*str != ')' && *str != '\0' && !IsNewline(*str)) { - _XtString newStr; - str = ParseString(str, &newStr); - if (newStr != NULL) { - ParamPtr temp = (ParamRec*) - ALLOCATE_LOCAL( (unsigned)sizeof(ParamRec) ); - if (temp == NULL) _XtAllocError (NULL); - - num_params++; - temp->next = params; - params = temp; - temp->param = newStr; - ScanWhitespace(str); - if (*str == ',') { - str++; - ScanWhitespace(str); - } - } + _XtString newStr; + + str = ParseString(str, &newStr); + if (newStr != NULL) { + ParamPtr temp = (ParamRec *) + ALLOCATE_LOCAL((unsigned) sizeof(ParamRec)); + + if (temp == NULL) + _XtAllocError(NULL); + + num_params++; + temp->next = params; + params = temp; + temp->param = newStr; + ScanWhitespace(str); + if (*str == ',') { + str++; + ScanWhitespace(str); + } + } } if (num_params != 0) { - String *paramP = (String *) - __XtMalloc( (Cardinal)((num_params+1) * sizeof(String)) ); - Cardinal i; - - *paramSeqP = paramP; - *paramNumP = num_params; - paramP += num_params; /* list is LIFO right now */ - *paramP-- = NULL; - for (i=0; i < num_params; i++) { - ParamPtr next = params->next; - *paramP-- = params->param; - DEALLOCATE_LOCAL( (char *)params ); - params = next; - } - } else { - *paramSeqP = NULL; - *paramNumP = 0; + String *paramP = (String *) + __XtMalloc((Cardinal) ((num_params + 1) * sizeof(String))); + Cardinal i; + + *paramSeqP = paramP; + *paramNumP = num_params; + paramP += num_params; /* list is LIFO right now */ + *paramP-- = NULL; + for (i = 0; i < num_params; i++) { + ParamPtr next = params->next; + + *paramP-- = params->param; + DEALLOCATE_LOCAL((char *) params); + params = next; + } + } + else { + *paramSeqP = NULL; + *paramNumP = 0; } return str; } -static String ParseAction( - String str, - ActionPtr actionP, - XrmQuark* quarkP, - Boolean* error) +static String +ParseAction(String str, ActionPtr actionP, XrmQuark *quarkP, Boolean * error) { str = ParseActionProc(str, quarkP, error); - if (*error) return str; + if (*error) + return str; if (*str == '(') { - str++; - str = ParseParamSeq(str, &actionP->params, &actionP->num_params); - } else { - Syntax("Missing '(' while parsing action sequence",""); + str++; + str = ParseParamSeq(str, &actionP->params, &actionP->num_params); + } + else { + Syntax("Missing '(' while parsing action sequence", ""); *error = TRUE; return str; } - if (*str == ')') str++; - else{ - Syntax("Missing ')' while parsing action sequence",""); + if (*str == ')') + str++; + else { + Syntax("Missing ')' while parsing action sequence", ""); *error = TRUE; return str; } return str; } - -static String ParseActionSeq( - TMParseStateTree parseTree, - String str, - ActionPtr *actionsP, - Boolean *error) +static String +ParseActionSeq(TMParseStateTree parseTree, + String str, + ActionPtr * actionsP, + Boolean * error) { ActionPtr *nextActionP; if ((nextActionP = actionsP) != NULL) - *actionsP = NULL; + *actionsP = NULL; while (*str != '\0' && !IsNewline(*str)) { - register ActionPtr action; - XrmQuark quark = NULLQUARK; + register ActionPtr action; + XrmQuark quark = NULLQUARK; - action = XtNew(ActionRec); + action = XtNew(ActionRec); action->params = NULL; action->num_params = 0; action->next = NULL; - str = ParseAction(str, action, &quark, error); - if (*error) { - XtFree((char *)action); - return PanicModeRecovery(str); - } + str = ParseAction(str, action, &quark, error); + if (*error) { + XtFree((char *) action); + return PanicModeRecovery(str); + } - action->idx = _XtGetQuarkIndex(parseTree, quark); - ScanWhitespace(str); - if (nextActionP) { - *nextActionP = action; - nextActionP = &action->next; - } + action->idx = _XtGetQuarkIndex(parseTree, quark); + ScanWhitespace(str); + if (nextActionP) { + *nextActionP = action; + nextActionP = &action->next; + } } - if (IsNewline(*str)) str++; + if (IsNewline(*str)) + str++; ScanWhitespace(str); return str; } - -static void ShowProduction( - String currentProduction) +static void +ShowProduction(String currentProduction) { Cardinal num_params = 1; String params[1]; @@ -1815,18 +1872,21 @@ static void ShowProduction( char *eol, *production, productionbuf[500]; eol = strchr(currentProduction, '\n'); - if (eol) len = (size_t) (eol - currentProduction); - else len = strlen (currentProduction); - production = XtStackAlloc (len + 1, productionbuf); - if (production == NULL) _XtAllocError (NULL); + if (eol) + len = (size_t) (eol - currentProduction); + else + len = strlen(currentProduction); + production = XtStackAlloc(len + 1, productionbuf); + if (production == NULL) + _XtAllocError(NULL); (void) memmove(production, currentProduction, len); production[len] = '\0'; params[0] = production; XtWarningMsg(XtNtranslationParseError, "showLine", XtCXtToolkitError, - "... found while parsing '%s'", params, &num_params); + "... found while parsing '%s'", params, &num_params); - XtStackFree (production, productionbuf); + XtStackFree(production, productionbuf); } /*********************************************************************** @@ -1834,36 +1894,38 @@ static void ShowProduction( * Parses one line of event bindings. ***********************************************************************/ -static String ParseTranslationTableProduction( - TMParseStateTree parseTree, - register String str, - Boolean* error) +static String +ParseTranslationTableProduction(TMParseStateTree parseTree, + register String str, + Boolean * error) { - EventSeqPtr eventSeq = NULL; - ActionPtr *actionsP; - String production = str; + EventSeqPtr eventSeq = NULL; + ActionPtr *actionsP; + String production = str; actionsP = NULL; str = ParseEventSeq(str, &eventSeq, &actionsP, error); if (*error == TRUE) { - ShowProduction(production); - } else { - ScanWhitespace(str); - str = ParseActionSeq(parseTree, str, actionsP, error); - if (*error == TRUE) { - ShowProduction(production); - } else { - _XtAddEventSeqToStateTree(eventSeq, parseTree); - } + ShowProduction(production); + } + else { + ScanWhitespace(str); + str = ParseActionSeq(parseTree, str, actionsP, error); + if (*error == TRUE) { + ShowProduction(production); + } + else { + _XtAddEventSeqToStateTree(eventSeq, parseTree); + } } FreeEventSeq(eventSeq); return (str); } -static String CheckForPoundSign( - String str, - _XtTranslateOp defaultOp, - _XtTranslateOp *actualOpRtn) +static String +CheckForPoundSign(String str, + _XtTranslateOp defaultOp, + _XtTranslateOp * actualOpRtn) { _XtTranslateOp opType; @@ -1871,234 +1933,244 @@ static String CheckForPoundSign( ScanWhitespace(str); if (*str == '#') { - String start; - char operation[20]; - int len; - - str++; - start = str; - str = ScanIdent(str); - len = MIN(19, (int)(str - start)); - (void) memmove(operation, start, (size_t) len); - operation[len] = '\0'; - if (!strcmp(operation,"replace")) - opType = XtTableReplace; - else if (!strcmp(operation,"augment")) - opType = XtTableAugment; - else if (!strcmp(operation,"override")) - opType = XtTableOverride; - ScanWhitespace(str); - if (IsNewline(*str)) { - str++; - ScanWhitespace(str); - } + String start; + char operation[20]; + int len; + + str++; + start = str; + str = ScanIdent(str); + len = MIN(19, (int) (str - start)); + (void) memmove(operation, start, (size_t) len); + operation[len] = '\0'; + if (!strcmp(operation, "replace")) + opType = XtTableReplace; + else if (!strcmp(operation, "augment")) + opType = XtTableAugment; + else if (!strcmp(operation, "override")) + opType = XtTableOverride; + ScanWhitespace(str); + if (IsNewline(*str)) { + str++; + ScanWhitespace(str); + } } *actualOpRtn = opType; return str; } -static XtTranslations ParseTranslationTable( - String source, - Boolean isAccelerator, - _XtTranslateOp defaultOp, - Boolean* error) +static XtTranslations +ParseTranslationTable(String source, + Boolean isAccelerator, + _XtTranslateOp defaultOp, + Boolean * error) { - XtTranslations xlations; - TMStateTree stateTrees[8]; - TMParseStateTreeRec parseTreeRec, *parseTree = &parseTreeRec; - XrmQuark stackQuarks[200]; - TMBranchHeadRec stackBranchHeads[200]; - StatePtr stackComplexBranchHeads[200]; - _XtTranslateOp actualOp; + XtTranslations xlations; + TMStateTree stateTrees[8]; + TMParseStateTreeRec parseTreeRec, *parseTree = &parseTreeRec; + XrmQuark stackQuarks[200]; + TMBranchHeadRec stackBranchHeads[200]; + StatePtr stackComplexBranchHeads[200]; + _XtTranslateOp actualOp; if (source == NULL) - return (XtTranslations)NULL; + return (XtTranslations) NULL; source = CheckForPoundSign(source, defaultOp, &actualOp); if (isAccelerator && actualOp == XtTableReplace) - actualOp = defaultOp; + actualOp = defaultOp; parseTree->isSimple = TRUE; parseTree->mappingNotifyInterest = FALSE; XtSetBit(parseTree->isAccelerator, isAccelerator); parseTree->isStackBranchHeads = - parseTree->isStackQuarks = - parseTree->isStackComplexBranchHeads = TRUE; + parseTree->isStackQuarks = parseTree->isStackComplexBranchHeads = TRUE; parseTree->numQuarks = - parseTree->numBranchHeads = - parseTree->numComplexBranchHeads = 0; + parseTree->numBranchHeads = parseTree->numComplexBranchHeads = 0; parseTree->quarkTblSize = - parseTree->branchHeadTblSize = - parseTree->complexBranchHeadTblSize = 200; + parseTree->branchHeadTblSize = + parseTree->complexBranchHeadTblSize = 200; parseTree->quarkTbl = stackQuarks; parseTree->branchHeadTbl = stackBranchHeads; parseTree->complexBranchHeadTbl = stackComplexBranchHeads; while (source != NULL && *source != '\0') { - source = ParseTranslationTableProduction(parseTree, source, error); - if (*error == TRUE) break; + source = ParseTranslationTableProduction(parseTree, source, error); + if (*error == TRUE) + break; } stateTrees[0] = _XtParseTreeToStateTree(parseTree); if (!parseTree->isStackQuarks) - XtFree((char *)parseTree->quarkTbl); + XtFree((char *) parseTree->quarkTbl); if (!parseTree->isStackBranchHeads) - XtFree((char *)parseTree->branchHeadTbl); + XtFree((char *) parseTree->branchHeadTbl); if (!parseTree->isStackComplexBranchHeads) - XtFree((char *)parseTree->complexBranchHeadTbl); + XtFree((char *) parseTree->complexBranchHeadTbl); xlations = _XtCreateXlations(stateTrees, 1, NULL, NULL); xlations->operation = (unsigned char) actualOp; #ifdef notdef XtFree(stateTrees); -#endif /* notdef */ +#endif /* notdef */ return xlations; } /*** public procedures ***/ /*ARGSUSED*/ -Boolean XtCvtStringToAcceleratorTable( - Display* dpy, - XrmValuePtr args _X_UNUSED, - Cardinal *num_args, - XrmValuePtr from, - XrmValuePtr to, - XtPointer *closure _X_UNUSED) +Boolean +XtCvtStringToAcceleratorTable(Display *dpy, + XrmValuePtr args _X_UNUSED, + Cardinal * num_args, + XrmValuePtr from, + XrmValuePtr to, + XtPointer * closure _X_UNUSED) { String str; Boolean error = FALSE; if (*num_args != 0) XtAppWarningMsg(XtDisplayToApplicationContext(dpy), - "wrongParameters","cvtStringToAcceleratorTable",XtCXtToolkitError, - "String to AcceleratorTable conversion needs no extra arguments", - (String *)NULL, (Cardinal *)NULL); - str = (String)(from->addr); + "wrongParameters", "cvtStringToAcceleratorTable", + XtCXtToolkitError, + "String to AcceleratorTable conversion needs no extra arguments", + (String *) NULL, (Cardinal *) NULL); + str = (String) (from->addr); if (str == NULL) { XtAppWarningMsg(XtDisplayToApplicationContext(dpy), - "badParameters","cvtStringToAcceleratorTable",XtCXtToolkitError, - "String to AcceleratorTable conversion needs string", - (String *)NULL, (Cardinal *)NULL); - return FALSE; + "badParameters", "cvtStringToAcceleratorTable", + XtCXtToolkitError, + "String to AcceleratorTable conversion needs string", + (String *) NULL, (Cardinal *) NULL); + return FALSE; } if (to->addr != NULL) { - if (to->size < sizeof(XtAccelerators)) { - to->size = sizeof(XtAccelerators); - return FALSE; - } - *(XtAccelerators*)to->addr = - (XtAccelerators) ParseTranslationTable(str, TRUE, XtTableAugment, &error); + if (to->size < sizeof(XtAccelerators)) { + to->size = sizeof(XtAccelerators); + return FALSE; + } + *(XtAccelerators *) to->addr = + (XtAccelerators) ParseTranslationTable(str, TRUE, XtTableAugment, + &error); } else { - static XtAccelerators staticStateTable; - staticStateTable = - (XtAccelerators) ParseTranslationTable(str, TRUE, XtTableAugment, &error); - to->addr = (XPointer) &staticStateTable; - to->size = sizeof(XtAccelerators); + static XtAccelerators staticStateTable; + + staticStateTable = + (XtAccelerators) ParseTranslationTable(str, TRUE, XtTableAugment, + &error); + to->addr = (XPointer) &staticStateTable; + to->size = sizeof(XtAccelerators); } if (error == TRUE) XtAppWarningMsg(XtDisplayToApplicationContext(dpy), - "parseError","cvtStringToAcceleratorTable",XtCXtToolkitError, - "String to AcceleratorTable conversion encountered errors", - (String *)NULL, (Cardinal *)NULL); + "parseError", "cvtStringToAcceleratorTable", + XtCXtToolkitError, + "String to AcceleratorTable conversion encountered errors", + (String *) NULL, (Cardinal *) NULL); return (error != TRUE); } - /*ARGSUSED*/ Boolean -XtCvtStringToTranslationTable( - Display *dpy, - XrmValuePtr args _X_UNUSED, - Cardinal *num_args, - XrmValuePtr from, - XrmValuePtr to, - XtPointer *closure_ret _X_UNUSED) +XtCvtStringToTranslationTable(Display *dpy, + XrmValuePtr args _X_UNUSED, + Cardinal * num_args, + XrmValuePtr from, + XrmValuePtr to, + XtPointer * closure_ret _X_UNUSED) { String str; Boolean error = FALSE; if (*num_args != 0) - XtAppWarningMsg(XtDisplayToApplicationContext(dpy), - "wrongParameters","cvtStringToTranslationTable",XtCXtToolkitError, - "String to TranslationTable conversion needs no extra arguments", - (String *)NULL, (Cardinal *)NULL); - str = (String)(from->addr); + XtAppWarningMsg(XtDisplayToApplicationContext(dpy), + "wrongParameters", "cvtStringToTranslationTable", + XtCXtToolkitError, + "String to TranslationTable conversion needs no extra arguments", + (String *) NULL, (Cardinal *) NULL); + str = (String) (from->addr); if (str == NULL) { XtAppWarningMsg(XtDisplayToApplicationContext(dpy), - "badParameters","cvtStringToTranslation",XtCXtToolkitError, - "String to TranslationTable conversion needs string", - (String *)NULL, (Cardinal *)NULL); - return FALSE; + "badParameters", "cvtStringToTranslation", + XtCXtToolkitError, + "String to TranslationTable conversion needs string", + (String *) NULL, (Cardinal *) NULL); + return FALSE; } if (to->addr != NULL) { - if (to->size < sizeof(XtTranslations)) { - to->size = sizeof(XtTranslations); - return FALSE; - } - *(XtTranslations*)to->addr = - ParseTranslationTable(str, FALSE, XtTableReplace, &error); + if (to->size < sizeof(XtTranslations)) { + to->size = sizeof(XtTranslations); + return FALSE; + } + *(XtTranslations *) to->addr = + ParseTranslationTable(str, FALSE, XtTableReplace, &error); } else { - static XtTranslations staticStateTable; - staticStateTable = - ParseTranslationTable(str, FALSE, XtTableReplace, &error); - to->addr = (XPointer) &staticStateTable; - to->size = sizeof(XtTranslations); + static XtTranslations staticStateTable; + + staticStateTable = + ParseTranslationTable(str, FALSE, XtTableReplace, &error); + to->addr = (XPointer) &staticStateTable; + to->size = sizeof(XtTranslations); } if (error == TRUE) XtAppWarningMsg(XtDisplayToApplicationContext(dpy), - "parseError","cvtStringToTranslationTable",XtCXtToolkitError, - "String to TranslationTable conversion encountered errors", - (String *)NULL, (Cardinal *)NULL); + "parseError", "cvtStringToTranslationTable", + XtCXtToolkitError, + "String to TranslationTable conversion encountered errors", + (String *) NULL, (Cardinal *) NULL); return (error != TRUE); } - /* * Parses a user's or applications translation table */ -XtAccelerators XtParseAcceleratorTable( - _Xconst char* source) +XtAccelerators +XtParseAcceleratorTable(_Xconst char *source) { Boolean error = FALSE; XtAccelerators ret = - (XtAccelerators) ParseTranslationTable (source, TRUE, XtTableAugment, &error); + (XtAccelerators) ParseTranslationTable(source, TRUE, XtTableAugment, + &error); if (error == TRUE) - XtWarningMsg ("parseError", "cvtStringToAcceleratorTable", - XtCXtToolkitError, - "String to AcceleratorTable conversion encountered errors", - (String *)NULL, (Cardinal *)NULL); + XtWarningMsg("parseError", "cvtStringToAcceleratorTable", + XtCXtToolkitError, + "String to AcceleratorTable conversion encountered errors", + (String *) NULL, (Cardinal *) NULL); return ret; } -XtTranslations XtParseTranslationTable( - _Xconst char* source) +XtTranslations +XtParseTranslationTable(_Xconst char *source) { Boolean error = FALSE; - XtTranslations ret = ParseTranslationTable(source, FALSE, XtTableReplace, &error); + XtTranslations ret = + ParseTranslationTable(source, FALSE, XtTableReplace, &error); if (error == TRUE) - XtWarningMsg ("parseError", - "cvtStringToTranslationTable", XtCXtToolkitError, - "String to TranslationTable conversion encountered errors", - (String *)NULL, (Cardinal *)NULL); + XtWarningMsg("parseError", + "cvtStringToTranslationTable", XtCXtToolkitError, + "String to TranslationTable conversion encountered errors", + (String *) NULL, (Cardinal *) NULL); return ret; } -void _XtTranslateInitialize(void) +void +_XtTranslateInitialize(void) { LOCK_PROCESS; if (initialized) { - XtWarningMsg("translationError","xtTranslateInitialize", - XtCXtToolkitError,"Initializing Translation manager twice.", - (String *)NULL, (Cardinal *)NULL); - UNLOCK_PROCESS; - return; + XtWarningMsg("translationError", "xtTranslateInitialize", + XtCXtToolkitError, + "Initializing Translation manager twice.", (String *) NULL, + (Cardinal *) NULL); + UNLOCK_PROCESS; + return; } initialized = TRUE; @@ -2106,37 +2178,37 @@ void _XtTranslateInitialize(void) QMeta = XrmPermStringToQuark("Meta"); QCtrl = XrmPermStringToQuark("Ctrl"); QNone = XrmPermStringToQuark("None"); - QAny = XrmPermStringToQuark("Any"); + QAny = XrmPermStringToQuark("Any"); - Compile_XtEventTable( events, XtNumber(events) ); - Compile_XtModifierTable( modifiers, XtNumber(modifiers) ); - CompileNameValueTable( buttonNames ); - CompileNameValueTable( notifyModes ); - CompileNameValueTable( motionDetails ); + Compile_XtEventTable(events, XtNumber(events)); + Compile_XtModifierTable(modifiers, XtNumber(modifiers)); + CompileNameValueTable(buttonNames); + CompileNameValueTable(notifyModes); + CompileNameValueTable(motionDetails); #if 0 - CompileNameValueTable( notifyDetail ); - CompileNameValueTable( visibilityNotify ); - CompileNameValueTable( circulation ); - CompileNameValueTable( propertyChanged ); + CompileNameValueTable(notifyDetail); + CompileNameValueTable(visibilityNotify); + CompileNameValueTable(circulation); + CompileNameValueTable(propertyChanged); #endif - CompileNameValueTable( mappingNotify ); + CompileNameValueTable(mappingNotify); } -void _XtAddTMConverters( - ConverterTable table) +void +_XtAddTMConverters(ConverterTable table) { - _XtTableAddConverter(table, - _XtQString, - XrmPermStringToQuark(XtRTranslationTable), - XtCvtStringToTranslationTable, (XtConvertArgList) NULL, - (Cardinal)0, True, CACHED, _XtFreeTranslations, True); - _XtTableAddConverter(table, _XtQString, - XrmPermStringToQuark(XtRAcceleratorTable), - XtCvtStringToAcceleratorTable, (XtConvertArgList) NULL, - (Cardinal)0, True, CACHED, _XtFreeTranslations, True); - _XtTableAddConverter(table, - XrmPermStringToQuark( _XtRStateTablePair ), - XrmPermStringToQuark(XtRTranslationTable), - _XtCvtMergeTranslations, (XtConvertArgList) NULL, - (Cardinal)0, True, CACHED, _XtFreeTranslations, True); + _XtTableAddConverter(table, + _XtQString, + XrmPermStringToQuark(XtRTranslationTable), + XtCvtStringToTranslationTable, (XtConvertArgList) NULL, + (Cardinal) 0, True, CACHED, _XtFreeTranslations, True); + _XtTableAddConverter(table, _XtQString, + XrmPermStringToQuark(XtRAcceleratorTable), + XtCvtStringToAcceleratorTable, (XtConvertArgList) NULL, + (Cardinal) 0, True, CACHED, _XtFreeTranslations, True); + _XtTableAddConverter(table, + XrmPermStringToQuark(_XtRStateTablePair), + XrmPermStringToQuark(XtRTranslationTable), + _XtCvtMergeTranslations, (XtConvertArgList) NULL, + (Cardinal) 0, True, CACHED, _XtFreeTranslations, True); } |