diff options
author | davidovski <david@davidovski.xyz> | 2022-05-31 11:05:19 +0100 |
---|---|---|
committer | davidovski <david@davidovski.xyz> | 2022-05-31 11:05:19 +0100 |
commit | 48ca75555522716f0f686dcae3dd6cf3d8ad714d (patch) | |
tree | 00c0f58550ba4661e87376f2f02c8001c69bae44 /repo/x11/motif/17-switch-to-system-iswspace.patch | |
parent | 871b2b573f01c1b3176a0f65458b3d281b41c437 (diff) |
removed idea of repos
Diffstat (limited to 'repo/x11/motif/17-switch-to-system-iswspace.patch')
-rw-r--r-- | repo/x11/motif/17-switch-to-system-iswspace.patch | 384 |
1 files changed, 0 insertions, 384 deletions
diff --git a/repo/x11/motif/17-switch-to-system-iswspace.patch b/repo/x11/motif/17-switch-to-system-iswspace.patch deleted file mode 100644 index a77b879..0000000 --- a/repo/x11/motif/17-switch-to-system-iswspace.patch +++ /dev/null @@ -1,384 +0,0 @@ -Description: Switch to system iswspace() function - This patch replaces calls to _XmDataFieldIsWSpace() in lib/Xm/DataF.c - and _XmTextFieldIsWSpace() in lib/Xm/TextF.c with calls to the system - iswspace() function. - . - It fixes an array bounds error in lib/Xm/DataF.c where - _XmDataFieldIsWSpace() is called with num_entries = 3. -Author: Graham Inggs <graham@nerve.org.za> -Forwarded: http://bugs.motifzone.net/show_bug.cgi?id=1629 -Last-Update: 2013-11-18 ---- a/lib/Xm/DataF.c -+++ b/lib/Xm/DataF.c -@@ -208,7 +208,6 @@ - static Boolean df_VerifyLeave() ; - static Boolean _XmDataFieldIsWordBoundary() ; - static int _XmGetImage(Screen *, char *, XImage **); --static Boolean _XmDataFieldIsWSpace() ; - static void df_FindWord() ; - static void df_FindPrevWord() ; - static void df_FindNextWord() ; -@@ -549,10 +548,6 @@ - XmDataFieldWidget tf, - XmTextPosition pos1, - XmTextPosition pos2) ; --static Boolean _XmDataFieldIsWSpace( -- wchar_t wide_char, -- wchar_t *white_space, -- int num_entries) ; - static void df_FindWord( - XmDataFieldWidget tf, - XmTextPosition begin, -@@ -4549,40 +4544,6 @@ - return False; - } - --/* This routine accepts an array of wchar_t's containing wchar encodings -- * of whitespace characters (and the number of array elements), comparing -- * the wide character passed to each element of the array. If a match -- * is found, we got a white space. This routine exists only because -- * iswspace(3c) is not yet standard. If a system has isw* available, -- * calls to this routine should be changed to iswspace(3c) (and callers -- * should delete initialization of the array), and this routine should -- * be deleted. Its a stop gap measure to avoid allocating an instance -- * variable for the white_space array and/or declaring a widget wide -- * global for the data and using a macro. Its ugly, but it works and -- * in the long run will be replaced by standard functionality. */ -- --/* ARGSUSED */ --static Boolean --#ifdef _NO_PROTO --_XmDataFieldIsWSpace( wide_char, white_space, num_entries ) -- wchar_t wide_char ; -- wchar_t * white_space ; -- int num_entries ; --#else --_XmDataFieldIsWSpace( -- wchar_t wide_char, -- wchar_t * white_space , -- int num_entries ) --#endif /* _NO_PROTO */ --{ -- int i; -- -- for (i=num_entries; i > 0; i--){ -- if (wide_char == white_space[i]) return True; -- } -- return False; --} -- - static void - #ifdef _NO_PROTO - df_FindWord( tf, begin, left, right ) -@@ -4599,7 +4560,6 @@ - #endif /* _NO_PROTO */ - { - XmTextPosition start, end; -- wchar_t white_space[3]; - - if (XmTextF_max_char_size(tf) == 1) { - for (start = begin; start > 0; start--) { -@@ -4617,11 +4577,8 @@ - } - *right = end - 1; - } else { /* check for iswspace and iswordboundary in each direction */ -- (void)mbtowc(&white_space[0], " ", 1); -- (void)mbtowc(&white_space[1], "\n", 1); -- (void)mbtowc(&white_space[2], "\t", 1); - for (start = begin; start > 0; start --) { -- if (_XmDataFieldIsWSpace(XmTextF_wc_value(tf)[start-1],white_space, 3) -+ if (iswspace(XmTextF_wc_value(tf)[start-1]) - || _XmDataFieldIsWordBoundary(tf, (XmTextPosition) start - 1, - start)) { - break; -@@ -4630,7 +4587,7 @@ - *left = start; - - for (end = begin; end <= XmTextF_string_length(tf); end++) { -- if (_XmDataFieldIsWSpace(XmTextF_wc_value(tf)[end], white_space, 3)){ -+ if (iswspace(XmTextF_wc_value(tf)[end])){ - end++; - break; - } else if (end < XmTextF_string_length(tf)) { -@@ -4659,14 +4616,6 @@ - { - - XmTextPosition start = XmTextF_cursor_position(tf); -- wchar_t white_space[3]; -- -- if (XmTextF_max_char_size(tf) != 1) { -- (void)mbtowc(&white_space[0], " ", 1); -- (void)mbtowc(&white_space[1], "\n", 1); -- (void)mbtowc(&white_space[2], "\t", 1); -- } -- - - if (XmTextF_max_char_size(tf) == 1) { - if ((start > 0) && -@@ -4680,11 +4629,9 @@ - } - df_FindWord(tf, start, left, right); - } else { -- if ((start > 0) && (_XmDataFieldIsWSpace(XmTextF_wc_value(tf)[start - 1], -- white_space, 3))) { -+ if ((start > 0) && (iswspace(XmTextF_wc_value(tf)[start - 1]))) { - for (; start > 0; start--) { -- if (!_XmDataFieldIsWSpace(XmTextF_wc_value(tf)[start -1], -- white_space, 3)){ -+ if (!iswspace(XmTextF_wc_value(tf)[start -1])){ - start--; - break; - } -@@ -4713,14 +4660,6 @@ - { - - XmTextPosition end = XmTextF_cursor_position(tf); -- wchar_t white_space[3]; -- -- if (XmTextF_max_char_size(tf) != 1) { -- (void)mbtowc(&white_space[0], " ", 1); -- (void)mbtowc(&white_space[1], "\n", 1); -- (void)mbtowc(&white_space[2], "\t", 1); -- } -- - - if(XmTextF_max_char_size(tf) == 1) { - if (isspace((int)(unsigned char)XmTextF_value(tf)[end])) { -@@ -4742,9 +4681,9 @@ - if (*right < XmTextF_string_length(tf)) - *right = *right - 1; - } else { -- if (_XmDataFieldIsWSpace(XmTextF_wc_value(tf)[end], white_space, 3)) { -+ if (iswspace(XmTextF_wc_value(tf)[end])) { - for ( ; end < XmTextF_string_length(tf); end ++) { -- if (!_XmDataFieldIsWSpace(XmTextF_wc_value(tf)[end], white_space, 3)) { -+ if (!iswspace(XmTextF_wc_value(tf)[end])) { - break; - } - } -@@ -4758,10 +4697,9 @@ - * If word boundary caused by whitespace, set right to the last - * whitespace following the end of the current word. - */ -- if (_XmDataFieldIsWSpace(XmTextF_wc_value(tf)[(int)*right], white_space, 3)) { -+ if (iswspace(XmTextF_wc_value(tf)[(int)*right])) { - while (*right < XmTextF_string_length(tf) && -- _XmDataFieldIsWSpace(XmTextF_wc_value(tf)[(int)*right], -- white_space, 3)) { -+ iswspace(XmTextF_wc_value(tf)[(int)*right])) { - *right = *right + 1; - } - if (*right < XmTextF_string_length(tf)) -@@ -5872,13 +5810,6 @@ - { - XmDataFieldWidget tf = (XmDataFieldWidget) w; - XmTextPosition cursorPos, position, dummy; -- wchar_t white_space[3]; -- -- if (XmTextF_max_char_size(tf) != 1) { -- (void)mbtowc(&white_space[0], " ", 1); -- (void)mbtowc(&white_space[1], "\n", 1); -- (void)mbtowc(&white_space[2], "\t", 1); -- } - - cursorPos = XmTextF_cursor_position(tf); - -@@ -5896,16 +5827,13 @@ - } - } - } else { -- if (_XmDataFieldIsWSpace(XmTextF_wc_value(tf)[cursorPos], -- white_space, 3)) -+ if (iswspace(XmTextF_wc_value(tf)[cursorPos])) - df_FindWord(tf, cursorPos, &dummy, &position); - else - df_FindNextWord(tf, &dummy, &position); -- if (_XmDataFieldIsWSpace(XmTextF_wc_value(tf)[position], -- white_space, 3)){ -+ if (iswspace(XmTextF_wc_value(tf)[position])){ - for (; position < XmTextF_string_length(tf); position++) { -- if (!_XmDataFieldIsWSpace(XmTextF_wc_value(tf)[position], -- white_space, 3)) -+ if (!iswspace(XmTextF_wc_value(tf)[position])) - break; - } - } ---- a/lib/Xm/TextF.c -+++ b/lib/Xm/TextF.c -@@ -360,10 +360,6 @@ - XmTextPosition pos1, - XmTextPosition pos2); - --static Boolean _XmTextFieldIsWSpace(wchar_t wide_char, -- wchar_t *white_space, -- int num_entries); -- - static void FindWord(XmTextFieldWidget tf, - XmTextPosition begin, - XmTextPosition *left, -@@ -3514,32 +3510,6 @@ - return False; - } - --/* This routine accepts an array of wchar_t's containing wchar encodings -- * of whitespace characters (and the number of array elements), comparing -- * the wide character passed to each element of the array. If a match -- * is found, we got a white space. This routine exists only because -- * iswspace(3c) is not yet standard. If a system has isw* available, -- * calls to this routine should be changed to iswspace(3c) (and callers -- * should delete initialization of the array), and this routine should -- * be deleted. Its a stop gap measure to avoid allocating an instance -- * variable for the white_space array and/or declaring a widget wide -- * global for the data and using a macro. Its ugly, but it works and -- * in the long run will be replaced by standard functionality. */ -- --/* ARGSUSED */ --static Boolean --_XmTextFieldIsWSpace(wchar_t wide_char, -- wchar_t * white_space , -- int num_entries) --{ -- int i; -- -- for (i=0; i < num_entries; i++) { -- if (wide_char == white_space[i]) return True; -- } -- return False; --} -- - static void - FindWord(XmTextFieldWidget tf, - XmTextPosition begin, -@@ -3547,7 +3517,6 @@ - XmTextPosition *right) - { - XmTextPosition start, end; -- wchar_t white_space[3]; - - if (tf->text.max_char_size == 1) { - for (start = begin; start > 0; start--) { -@@ -3565,11 +3534,8 @@ - } - *right = end - 1; - } else { /* check for iswspace and iswordboundary in each direction */ -- (void)mbtowc(&white_space[0], " ", 1); -- (void)mbtowc(&white_space[1], "\n", 1); -- (void)mbtowc(&white_space[2], "\t", 1); - for (start = begin; start > 0; start --) { -- if (_XmTextFieldIsWSpace(TextF_WcValue(tf)[start-1],white_space, 3) -+ if (iswspace(TextF_WcValue(tf)[start-1]) - || _XmTextFieldIsWordBoundary(tf, (XmTextPosition) start - 1, - start)) { - break; -@@ -3578,7 +3544,7 @@ - *left = start; - - for (end = begin; end <= tf->text.string_length; end++) { -- if (_XmTextFieldIsWSpace(TextF_WcValue(tf)[end], white_space, 3)) { -+ if (iswspace(TextF_WcValue(tf)[end])) { - end++; - break; - } else if (end < tf->text.string_length) { -@@ -3599,14 +3565,6 @@ - { - - XmTextPosition start = TextF_CursorPosition(tf); -- wchar_t white_space[3]; -- -- if (tf->text.max_char_size != 1) { -- (void)mbtowc(&white_space[0], " ", 1); -- (void)mbtowc(&white_space[1], "\n", 1); -- (void)mbtowc(&white_space[2], "\t", 1); -- } -- - - if (tf->text.max_char_size == 1) { - if ((start > 0) && -@@ -3620,11 +3578,9 @@ - } - FindWord(tf, start, left, right); - } else { -- if ((start > 0) && (_XmTextFieldIsWSpace(TextF_WcValue(tf)[start - 1], -- white_space, 3))) { -+ if ((start > 0) && (iswspace(TextF_WcValue(tf)[start - 1]))) { - for (; start > 0; start--) { -- if (!_XmTextFieldIsWSpace(TextF_WcValue(tf)[start -1], -- white_space, 3)) { -+ if (!iswspace(TextF_WcValue(tf)[start -1])) { - start--; - break; - } -@@ -3645,14 +3601,6 @@ - { - - XmTextPosition end = TextF_CursorPosition(tf); -- wchar_t white_space[3]; -- -- if (tf->text.max_char_size != 1) { -- (void)mbtowc(&white_space[0], " ", 1); -- (void)mbtowc(&white_space[1], "\n", 1); -- (void)mbtowc(&white_space[2], "\t", 1); -- } -- - - if(tf->text.max_char_size == 1) { - if (isspace((unsigned char)TextF_Value(tf)[end])) { -@@ -3674,9 +3622,9 @@ - if (*right < tf->text.string_length) - *right = *right - 1; - } else { -- if (_XmTextFieldIsWSpace(TextF_WcValue(tf)[end], white_space, 3)) { -+ if (iswspace(TextF_WcValue(tf)[end])) { - for (; end < tf->text.string_length; end ++) { -- if (!_XmTextFieldIsWSpace(TextF_WcValue(tf)[end], white_space, 3)) { -+ if (!iswspace(TextF_WcValue(tf)[end])) { - break; - } - } -@@ -3690,10 +3638,9 @@ - * If word boundary caused by whitespace, set right to the last - * whitespace following the end of the current word. - */ -- if (_XmTextFieldIsWSpace(TextF_WcValue(tf)[(int)*right], white_space, 3)) { -+ if (iswspace(TextF_WcValue(tf)[(int)*right])) { - while (*right < tf->text.string_length && -- _XmTextFieldIsWSpace(TextF_WcValue(tf)[(int)*right], -- white_space, 3)) { -+ iswspace(TextF_WcValue(tf)[(int)*right])) { - *right = *right + 1; - } - if (*right < tf->text.string_length) -@@ -4546,13 +4493,6 @@ - { - XmTextFieldWidget tf = (XmTextFieldWidget) w; - XmTextPosition cursorPos, position, dummy; -- wchar_t white_space[3]; -- -- if (tf->text.max_char_size != 1) { -- (void)mbtowc(&white_space[0], " ", 1); -- (void)mbtowc(&white_space[1], "\n", 1); -- (void)mbtowc(&white_space[2], "\t", 1); -- } - - cursorPos = TextF_CursorPosition(tf); - -@@ -4570,16 +4510,13 @@ - } - } - } else { -- if (_XmTextFieldIsWSpace(TextF_WcValue(tf)[cursorPos], -- white_space, 3)) -+ if (iswspace(TextF_WcValue(tf)[cursorPos])) - FindWord(tf, cursorPos, &dummy, &position); - else - FindNextWord(tf, &dummy, &position); -- if (_XmTextFieldIsWSpace(TextF_WcValue(tf)[position], -- white_space, 3)) { -+ if (iswspace(TextF_WcValue(tf)[position])) { - for (; position < tf->text.string_length; position++) { -- if (!_XmTextFieldIsWSpace(TextF_WcValue(tf)[position], -- white_space, 3)) -+ if (!iswspace(TextF_WcValue(tf)[position])) - break; - } - } |