mirror of https://github.com/H-uru/korman.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
3.5 KiB
92 lines
3.5 KiB
7 years ago
|
!macro StrAppendChar src_str src_idx dst_str
|
||
|
Push $R0
|
||
|
StrCpy $R0 ${src_str} 1 ${src_idx}
|
||
|
StrCpy ${dst_str} ${dst_str}$R0
|
||
|
Pop $R0
|
||
|
!macroend
|
||
|
!define StrAppendChar `!insertmacro StrAppendChar`
|
||
|
|
||
|
; Takes a Guid string and returns the mangled form found in Windows Installer registry values
|
||
|
; Input MUST contain dashes but no brackets enclosing the guid
|
||
|
!macro MangleGuidForRegistry src dst
|
||
|
StrCpy ${dst} ""
|
||
|
${StrAppendChar} ${src} 7 ${dst}
|
||
|
${StrAppendChar} ${src} 6 ${dst}
|
||
|
${StrAppendChar} ${src} 5 ${dst}
|
||
|
${StrAppendChar} ${src} 4 ${dst}
|
||
|
${StrAppendChar} ${src} 3 ${dst}
|
||
|
${StrAppendChar} ${src} 2 ${dst}
|
||
|
${StrAppendChar} ${src} 1 ${dst}
|
||
|
${StrAppendChar} ${src} 0 ${dst}
|
||
|
; Dash
|
||
|
${StrAppendChar} ${src} 12 ${dst}
|
||
|
${StrAppendChar} ${src} 11 ${dst}
|
||
|
${StrAppendChar} ${src} 10 ${dst}
|
||
|
${StrAppendChar} ${src} 9 ${dst}
|
||
|
; Dash
|
||
|
${StrAppendChar} ${src} 17 ${dst}
|
||
|
${StrAppendChar} ${src} 16 ${dst}
|
||
|
${StrAppendChar} ${src} 15 ${dst}
|
||
|
${StrAppendChar} ${src} 14 ${dst}
|
||
|
; Dash
|
||
|
${StrAppendChar} ${src} 20 ${dst}
|
||
|
${StrAppendChar} ${src} 19 ${dst}
|
||
|
${StrAppendChar} ${src} 22 ${dst}
|
||
|
${StrAppendChar} ${src} 21 ${dst}
|
||
|
; Dash
|
||
|
${StrAppendChar} ${src} 25 ${dst}
|
||
|
${StrAppendChar} ${src} 24 ${dst}
|
||
|
${StrAppendChar} ${src} 27 ${dst}
|
||
|
${StrAppendChar} ${src} 26 ${dst}
|
||
|
${StrAppendChar} ${src} 29 ${dst}
|
||
|
${StrAppendChar} ${src} 28 ${dst}
|
||
|
${StrAppendChar} ${src} 31 ${dst}
|
||
|
${StrAppendChar} ${src} 30 ${dst}
|
||
|
${StrAppendChar} ${src} 33 ${dst}
|
||
|
${StrAppendChar} ${src} 32 ${dst}
|
||
|
${StrAppendChar} ${src} 35 ${dst}
|
||
|
${StrAppendChar} ${src} 34 ${dst}
|
||
|
!macroend
|
||
|
!define MangleGuidForRegistry `!insertmacro MangleGuidForRegistry`
|
||
|
|
||
|
!macro UnmangleGuidFromRegistry src dst
|
||
|
StrCpy ${dst} ""
|
||
|
${StrAppendChar} ${src} 7 ${dst}
|
||
|
${StrAppendChar} ${src} 6 ${dst}
|
||
|
${StrAppendChar} ${src} 5 ${dst}
|
||
|
${StrAppendChar} ${src} 4 ${dst}
|
||
|
${StrAppendChar} ${src} 3 ${dst}
|
||
|
${StrAppendChar} ${src} 2 ${dst}
|
||
|
${StrAppendChar} ${src} 1 ${dst}
|
||
|
${StrAppendChar} ${src} 0 ${dst}
|
||
|
${StrAppendChar} "-" 0 ${dst}
|
||
|
${StrAppendChar} ${src} 11 ${dst}
|
||
|
${StrAppendChar} ${src} 10 ${dst}
|
||
|
${StrAppendChar} ${src} 9 ${dst}
|
||
|
${StrAppendChar} ${src} 8 ${dst}
|
||
|
${StrAppendChar} "-" 0 ${dst}
|
||
|
${StrAppendChar} ${src} 15 ${dst}
|
||
|
${StrAppendChar} ${src} 14 ${dst}
|
||
|
${StrAppendChar} ${src} 13 ${dst}
|
||
|
${StrAppendChar} ${src} 12 ${dst}
|
||
|
${StrAppendChar} "-" 0 ${dst}
|
||
|
${StrAppendChar} ${src} 17 ${dst}
|
||
|
${StrAppendChar} ${src} 16 ${dst}
|
||
|
${StrAppendChar} ${src} 19 ${dst}
|
||
|
${StrAppendChar} ${src} 18 ${dst}
|
||
|
${StrAppendChar} "-" 0 ${dst}
|
||
|
${StrAppendChar} ${src} 21 ${dst}
|
||
|
${StrAppendChar} ${src} 20 ${dst}
|
||
|
${StrAppendChar} ${src} 23 ${dst}
|
||
|
${StrAppendChar} ${src} 22 ${dst}
|
||
|
${StrAppendChar} ${src} 25 ${dst}
|
||
|
${StrAppendChar} ${src} 24 ${dst}
|
||
|
${StrAppendChar} ${src} 27 ${dst}
|
||
|
${StrAppendChar} ${src} 26 ${dst}
|
||
|
${StrAppendChar} ${src} 29 ${dst}
|
||
|
${StrAppendChar} ${src} 28 ${dst}
|
||
|
${StrAppendChar} ${src} 31 ${dst}
|
||
|
${StrAppendChar} ${src} 30 ${dst}
|
||
|
!macroend
|
||
|
!define UnmangleGuidFromRegistry `!insertmacro UnmangleGuidFromRegistry`
|