Follow-up Comment #7, bug #67735 (group groff):
commit c74bf804f79d6f176120a42c757701a34fc489c6 Author: G. Branden Robinson <[email protected]> Date: Mon Dec 8 04:21:14 2025 -0600 [troff]: Continue working on bug #67735. * src/roff/troff/input.cpp: Migrate more input character reading functions to deal in the type `unsigned char` rather than `char`. (do_get_long_name): Update declaration. (read_rgb, read_cmy, read_cmyk, read_gray, do_get_long_name): Update definitions. (get_long_name): Update `do_get_long_name()` call site to use literal of `unsigned char` rathern than `char` type. (do_get_long_name): Change type of local variable `buf` from `char` to `unsigned char`, since it is directly populated by reads of bytes from the input stream. This function converts said input into an object of the groff class `symbol` and returns it, but `symbol` has no constructor accepting a pointer to `const unsigned char`. Consequently, once we have successfuly populated `buf`, create a new buffer `chbuf`, a heap-allocated array of `char` type. Free this array after constructing a `symbol` on the stack. (If all this seems like rigmarole, consider that it's going to be necessary anyway when we read bytes from the input stream, confirm that they're valid UTF-8 sequences, apply Normalization Form D decomposition, and then store them as one or more 32-bit code points in GNU troff's planned future internal character data type. See Savannah #40720.) (read_drawing_command_color_arguments): Change type of `end` local variable from `int` to `unsigned char`, since that is what the `read_{rgb,cmy,cmyk,gray}()` functions now expect as arguments. Continues the long process of fixing Savannah #67735. _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?67735> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/
signature.asc
Description: PGP signature
