-
Robert Sprowson authored
Fix for problem passing long command lines via system(), while there are good arguments to leave the threshold at 255, non DDEUtils aware programs get brutally truncated command strings, and since the old threshold of 255 applied when the kernel handled 256 command lines, upping the limit to 1k is no worse than before. Fix for Edit failing to draw lines of text longer than 192 characters (ticket #350). Several factors were conspiring here: on a mode change the window width in characters wasn't being clamped, whereas user entered limits in the menu were, then the internal buffer ("PAINTBUFSIZE") was too short so lines got truncated, and when larger than 256 got wrapped modulo 256 due to the use of an array of chars. Now set at compile time with BIG_WINDOW_SIZE_LIMIT with a new theoretical maximum of 8192. Currently limited to 480 since it uses stack variables. In the C library: armsys.c: adapt the threshold at which to use DDEUtils based on the kernel version number scanf.c: squash a warning time.c: mark the table of month lengths as constant so we can claw back 13 words of static workspace without having to change the stubs In RISC OS lib: bbc.c: remove local definitions of some SWI numbers template.c: squash a warning txt.c: delete Modula-2 support txt1.c: compare pointer with NULL not an integer txtar.c: introduce BIG_WINDOW_SIZE_LIMIT, rationalise a few sprintf's, mark private functions as static txtundo.c/txtedit.c: squash old style function warnings txtoptmenu.c: clamp the window width read from Edit$Options properly, delete long disabled code txtscrap.c: dead function deleted Version 5.78. Tagged as 'RISC_OSLib-5_78'
c9b6d7f3