On Sat, Jun 1, 2024 at 8:57 PM Bernd Böckmann via Freedos-devel < freedos-devel@lists.sourceforge.net> wrote:
> > On 15.05.2024 16:01, Wilhelm Spiegl via Freedos-devel wrote: > [...] > I hope that this behaviour is reproducable. > > Some details: cursor positioning algorithm is broken if scrolling is > involved, because it does not correctly keep track of the screen > coordinates the command line starts. Further, the routines were never > meant to function with command lines longer than 127 characters, failing > if the command line spans over more than two lines. Now that FreeCOM > supports commands of up to 254 characters, this breaks. > > Interesting. How does FreeCom do this? At least in the exec_blk[1] struct the member cmd_line is a FAR ptr to a CommandTail[2] struct which defines a 127 max characters for the command tail. If you go over that, you might have an overflow? Or does FreeCom handle this in some other way? Historically, I think this limit is why many DOS programs have the option to either read arguments from a file or from STDIN. I've had DOG be at 200 characters but I've never really tried pushing the limit... I tried but get an ugly crash, but FreeCom doesn't crash, how does it make the command tail > 127 bytes? [1] https://github.com/FDOS/kernel/blob/master/hdr/process.h#L53 [2] https://github.com/FDOS/kernel/blob/master/hdr/tail.h#L43 -Wolf -- |\_ | .\---. / ,__/ / /Wolf <wolf+...@bergenheim.net>_
_______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel