Opened 4 years ago

Closed 2 years ago

#4 closed defect (fixed)

menu.brn driver string is malformed in certain cases

Reported by: lewisr Owned by:
Priority: minor Milestone:
Component: memdisk Version:
Keywords: Cc:

Description (last modified by lewisr)

There seems to be some discrepancy between the length defined for a given driver description and driver name and how the string is interpreted when placed into the defined variable.

Example:

Given the following CONFIG.SYS statement to be completed:

DEVICE=\^DEV_CDROM:********^.DMD^MISC_PROB_VERBOSE:false: /Q^^MISC_PROB_VERBOSE:true: /V^

The following strings all work:

; *note: Driver name *must* always be in brackets at the end of the string
;
; max. length:               >1234567890123456789012345678901234567890123<
'<DEV_CDROM_LIST_DEFAULT>' = 'Standard CD/DVD-Gerätemanager    (OS2CDROM)'
'<DEV_CDROM_LIST_01>'      = 'Standard CD/DVD-Gerätemanager    (OS2CDROM)'
'<DEV_CDROM_LIST_02>'      = 'Erweiterter CD/DVD-Gerätemanager (JJSCDROM)'
'<DEV_CDROM_LIST_03>'      = 'Legacy CD-Gerätemanager          (OLDCDROM)'

whereas results from these strings are inconsistent:

; *note: Driver name *must* always be in brackets at the end of the string
;
; max. length:               >1234567890123456789012345678901234567890123<
'<DEV_CDROM_LIST_DEFAULT>' = 'Standard CD/DVD Geräte-Manager  (OS2CDROM)'
'<DEV_CDROM_LIST_01>'      = 'Standard CD/DVD Geräte-Manager  (OS2CDROM)'
'<DEV_CDROM_LIST_02>'      = 'Erweiterter CD/DVD Ger.-Manager (JJSCDROM)'
'<DEV_CDROM_LIST_03>'      = 'Alter CD-Geräte-Manager         (OLDCDROM)'

In the latter case, 'Standard CD/DVD Geräte-Manager (OS2CDROM)' results in <DEV_CDROM_LIST_01> being placed into CONFIG.SYS as:

\S2CDROM).DMD

The same corruption is seen for <DEV_CDROM_LIST_02>, which ends up as:

\JSCDROM).DMD

Yet, <DEV_CDROM_LIST_03>, (with greater padding?) is properly entered.

However, by adding (back) the extra spaces:

; *note: Driver name *must* always be in brackets at the end of the string
;
; max. length:               >1234567890123456789012345678901234567890123<
'<DEV_CDROM_LIST_DEFAULT>' = 'Standard CD/DVD Geräte-Manager   (OS2CDROM)'
'<DEV_CDROM_LIST_01>'      = 'Standard CD/DVD Geräte-Manager   (OS2CDROM)'
'<DEV_CDROM_LIST_02>'      = 'Erweiterter CD/DVD Ger.-Manager  (JJSCDROM)'
'<DEV_CDROM_LIST_03>'      = 'Alter CD-Geräte-Manager          (OLDCDROM)'

all variables are properly filled.

I haven't seen this anywhere else, yet, nor have I tested without the umlauts.

Change History (2)

comment:1 Changed 4 years ago by lewisr

Description: modified (diff)

comment:2 Changed 2 years ago by lewisr

Component: os2csmmemdisk
Resolution: fixed
Status: newclosed

Confirmed fixed in 2022.02.12. Thanks!

Note: See TracTickets for help on using tickets.