Debug msgs#299
Conversation
| { | ||
| fdpp->print(FDPP_PRINT_LOG, format, vl); | ||
| if (format[0] == '@') | ||
| fdpp->print(FDPP_PRINT_LOG_NOPREFIX, format + 1, vl); |
There was a problem hiding this comment.
Just add flag, shift it to
16 to not clash with the value.
f_node's f_count field was removed back in 2009 (bfdad2a), so remove its use from debug message and the corresponding text.
1/ Fix up the FAR string printing. Need to use standard format specifiers and convert args to be compatible. 2/ Fix up type width format specifiers.
Now that DebugPrintf are prefixed with "fdpp: " we need to prefix those that should be appended. Was: ===== fdpp: SUBSTing from: C:\ fdpp: NLS: DosUpFMem(): len=11, f997:03c0="fdpp: \fdpp: Tfdpp: Efdpp: Sfdpp: Tfdpp: Ifdpp: Tfdpp: .fdpp: Bfdpp: Afdpp: Tfdpp: " fdpp: NLS: nlsFUpMem() fdpp: NLS: upMMem(): len=11, f997:03c0="fdpp: \fdpp: Tfdpp: Efdpp: Sfdpp: Tfdpp: Ifdpp: Tfdpp: .fdpp: Bfdpp: Afdpp: Tfdpp: " fdpp: NLS: upMMem(): result="fdpp: \fdpp: Tfdpp: Efdpp: Sfdpp: Tfdpp: Ifdpp: Tfdpp: .fdpp: Bfdpp: Afdpp: Tfdpp: " Now: ===== fdpp: SUBSTing from: C:\ fdpp: NLS: DosUpFMem(): len=11, f997:03c0="\TESTIT.BAT" fdpp: NLS: nlsFUpMem() fdpp: NLS: upMMem(): len=11, f997:03c0="\TESTIT.BAT" fdpp: NLS: upMMem(): result="\TESTIT.BAT"
|
I have a crash in truename at adjust_far() once I enable the debugging. The trigger is a super long argument (128 chars) which actually was unnecessary so I have removed it in my dosemu branch. Not sure whether it's important, after all it's a ridiculous size, but I thought I'd mention it. |
| va_list vl; | ||
| int prio = FDPP_PRINT_LOG; | ||
|
|
||
| if (strcmp("%s", format) == 0) { // The string has been preformatted and we |
There was a problem hiding this comment.
I think it would be reasonable
to demand @ in a format string
itself. I'd like to avoid va_arg() here.
|
|
I already looked for a couple of hours, but my lack of C++ knowledge stops me from finding anything other than it occurs in the call
1/ Yes, use dosemu devel (still has the excessively long and unnecessary argument in the batch file Here's mine. |
to start with. Why is this a minimal reproducer?
|
|
I suppose you meant this link: |
|
|
You didn't set up the like the instructions said |
|
or more likely you did but didn't use the command it printed (what you posted looks like mine) |
|
The problem is that _vsnprintf() |
|
Are you set on musl it looked quite complicated to extract the salient part? I looked for an alternative, this popped up https://github.com/nothings/stb/blob/master/stb_sprintf.h license is MIT or Public Domain. |
|
I am not set for musl by |
|
No, it's Public Domain OR MIT, the user gets to choose which he wants to follow. |
|
That is written in the end, and |
|
Ok, choose MIT and remove |
|
Will the new vsnprintf need to be in the kernel C code or in the C++ part? |
|
Just replace the buggy prf.c. |
1/ Some changes to make the debugging to dosemu logging compile after enabling lots of DEBUG_* defines.
2/ Tidy up some of the messages now that the logging function prefixes every write.
3/ Tweak the CI to collect and archive any failure logs that may occur.