# HG changeset patch
# User Patrik Svestka <patrik.svestka@gmail.com>
# Date 1544457173 -3600
# Mon Dec 10 16:52:53 2018 +0100
# Branch jv
# Node ID fb93b820a0133352367ef243f2729eba36fd890f
# Parent 6aec7cb6d153ac0fe318dfd7dfbbaf9f1bbd532f
Issue #252: Smalltak/X is writing Windows Registry only in ASCII but registry is UTF16
minor refactorings:
- changed name to nameString to indicate that the parameter must be a string
- deleted superfluous comment
diff -r 6aec7cb6d153 -r fb93b820a013 Win32OperatingSystem.st
a
|
b
|
|
16055 | 16055 | |
16056 | 16056 | errorNumber notNil ifTrue:[ |
16057 | 16057 | errorNumber == 87 ifTrue:[ "/ 87 (0x57) ... ERROR_INVALID_PARAMETER |
16058 | | self primitiveFailed: '32/64bit registry view requested but no RegDeleteKeyExW(). Windows too old?' |
| 16058 | self primitiveFailed: '32/64bit registry view requested but no RegDeleteKeyExW(). Windows too old? (hint: set flags to nil)' |
16059 | 16059 | ]. |
16060 | 16060 | (OperatingSystem errorHolderForNumber:errorNumber) reportError. |
16061 | 16061 | |
… |
… |
|
16458 | 16458 | " |
16459 | 16459 | ! |
16460 | 16460 | |
16461 | | deleteValueNamed:name |
| 16461 | deleteValueNamed:nameString |
16462 | 16462 | "delete a value. |
16463 | 16463 | Return true on success." |
16464 | 16464 | |
16465 | 16465 | |nameUtf16Z errorNumber| |
16466 | 16466 | |
16467 | | "/ name must be a string |
16468 | 16467 | "/ adding terminating null into empty string |
16469 | | name notNil ifTrue:[ |
16470 | | nameUtf16Z := name isEmpty ifTrue:[(name, (Character codePoint: 0)) asUnicode16String] "/ needed for defaultValue |
16471 | | ifFalse:[name asUnicode16StringZ] |
| 16468 | nameString notNil ifTrue:[ |
| 16469 | nameUtf16Z := nameString isEmpty ifTrue:[(nameString, (Character codePoint: 0)) asUnicode16String] "/ needed for defaultValue |
| 16470 | ifFalse:[nameString asUnicode16StringZ] |
16472 | 16471 | ]. |
16473 | 16472 | |
16474 | 16473 | %{ |
… |
… |
|
16822 | 16821 | " |
16823 | 16822 | ! |
16824 | 16823 | |
16825 | | valueNamed:name put:data |
| 16824 | valueNamed:nameString put:data |
16826 | 16825 | "store a value; the value type depends upon the stored value: |
16827 | 16826 | ByteArray -> REG_BINARY |
16828 | 16827 | String -> REG_SZ |
… |
… |
|
16830 | 16829 | Integer -> REG_DWORD |
16831 | 16830 | nil -> REG_NONE |
16832 | 16831 | " |
16833 | | "Transcript showCR: 'name:', name. |
16834 | | Transcript showCR: 'data:', data." |
16835 | 16832 | |
16836 | | ^ self valueNamed:name put:data unexpandedReferences:false |
16837 | | ! |
16838 | | |
16839 | | valueNamed:name put:data unexpandedReferences:containsUnexpandedReferences |
| 16833 | ^ self valueNamed:nameString put:data unexpandedReferences:false |
| 16834 | ! |
| 16835 | |
| 16836 | valueNamed:nameString put:data unexpandedReferences:containsUnexpandedReferences |
16840 | 16837 | "store a value; the value type depends upon the stored value: |
16841 | 16838 | ByteArray -> REG_BINARY |
16842 | 16839 | String -> REG_SZ OR REG_EXPAND_SZ based on containsUnexpandedReferences |
… |
… |
|
16855 | 16852 | |
16856 | 16853 | |nameUtf16Z dataUtf16Z stringArray errorNumber| |
16857 | 16854 | |
16858 | | "/ name must be a string |
16859 | | "/ name asUnicodeString and null terminated |
16860 | | name notNil ifTrue:[ |
16861 | | nameUtf16Z := name isEmpty ifTrue:[(name, (Character codePoint: 0)) asUnicode16String] "/ needed for defaultValue: |
16862 | | ifFalse:[name asUnicode16StringZ] |
| 16855 | "/ nameString asUnicodeString and null terminated |
| 16856 | nameString notNil ifTrue:[ |
| 16857 | nameUtf16Z := nameString isEmpty ifTrue:[(nameString, (Character codePoint: 0)) asUnicode16String] "/ needed for defaultValue: |
| 16858 | ifFalse:[nameString asUnicode16StringZ] |
16863 | 16859 | ]. |
16864 | 16860 | "/ data asUnicode16String and null terminated |
16865 | 16861 | data notNil ifTrue:[ |