dfieschko / RP1210

A Python32 implementation of the RP1210C standard. Now with 100% test coverage!
MIT License
20 stars 12 forks source link

Detect mangled RP121032.INI #31

Open dfieschko opened 2 years ago

dfieschko commented 2 years ago

From RP1210C standard:

23.4. Mangled RP121 032.1NI - Detecting and Correcting

In 2007, it was reported to TMC by several VDA vendors that they have been spending a lot of time doing technical support because VDA vendors were leaving multiple commas or spaces in the RP121032.1NI file during an install or uninstall. These spaces or commas have caused OEM application developer's issues by not seeing all VDA entries in the file. Accordingly, when an end-user installed an adapter ("any adapter") and was not allowed to select it, that adapter manufacturer received a tech support call even though it was not their problem. Also, there are some problems that exist when installing drivers to an INI file that has more than one APIImplementations line in it (even though it is commented out).

VDA vendors shall ensure that when their drivers are installed or uninstalled, that there are no stray commas or spaces remaining in the RP121 032.1NI file and they should ensure that the INI file is not "mangled" in any way. If spaces are stray commas are seen, the VDA installation application (on a successful install) will fix them, not leave them there for someone else's tech support department to find.

Application developers should ensure that when they parse the RP121 032.1NI file that they completely parse the entire line and not just the first x number of entries. Also the application developer should be aware that multiple commas and potentially spaces could be left in the file. Please ensure that your application can handle the following example:

[RP1210Support ]
APIImplementations=xxxxxx32,yyyyyy32 ,, , zzzzzz32, , aaaaaa32
; ; ;APIImplementations=xxxxxx32,yyyyyy32 ,, , zzzzzz32, , aaaaaa3