%OH and %OD utility programs convert until first invalid character
Final Release Note
All base conversion utility programs convert input until the first invalid character and then ignore remaining characters. Previously, %OH and %OD would either treat invalid characters as if they were zero (0), and return either an incorrect conversion or an empty string. [#685 (closed)]
Description
Currently, the base conversion utilities %OD and %OH handle invalid input differently from the other base conversion utilities. %HO, %DO, %HD and %DH all ignore input after the first invalid character. %OD currently treats invalid characters as if they were 0s while %OH currently returns an empty string if the invalid character is an 8 or 9 and otherwise treats the invalid character as if it were a 0. %OH and %OD should be enhanced so that they behave the same as the other 4 conversion utilities. This behavior was present before the V6.3-009 changes to these utilities.
> $ydb_dist/yottadb -r ^%XCMD 'write $$FUNC^%OD(778),!'
512
> $ydb_dist/yottadb -r ^%XCMD 'write $$FUNC^%OH(778),!'
> $ydb_dist/yottadb -r ^%XCMD 'write $$FUNC^%DO("512k"),!'
000000001000
> $ydb_dist/yottadb -r ^%XCMD 'write $$FUNC^%DH("512k"),!'
00000200
> $ydb_dist/yottadb -r ^%XCMD 'write $$FUNC^%HD("FFk"),!'
255
> $ydb_dist/yottadb -r ^%XCMD 'write $$FUNC^%HO("FFk"),!'
377
>
Draft Release Note
All 6 base conversion utility programs convert input until the first invalid character and then ignore all remaining characters. Previously, %OH and %OD would either treat invalid characters as if they were 0s and return an incorrect conversion or simply return an empty string. [#685 (closed)]