Просмотр исходного кода

Prevent sign extension / cleanup.

Martijn Laan 1 неделя назад
Родитель
Сommit
b5f6753931

+ 6 - 0
Components/PSStackHelper.pas

@@ -36,6 +36,7 @@ type
         function Next: String;
       end;
     function GetChar(const ItemNo: Longint): Char;
+    function GetUInt32(const ItemNo: Longint): UInt32;
     function GetIntArray(const ItemNo: Longint; const FieldNo: Longint = -1): TArrayOfInteger;
     function GetProc(const ItemNo: Longint; const Exec: TPSExec): TMethod;
     function GetStringArray(const ItemNo: Longint; const FieldNo: Longint = -1): TArrayOfString;
@@ -102,6 +103,11 @@ begin
     Result[I] := VNGetString(PSGetArrayField(Arr, I));
 end;
 
+function TPSStackHelper.GetUInt32(const ItemNo: Longint): UInt32;
+begin
+  Result := UInt32(GetInt(ItemNo));
+end;
+
 function TPSStackHelper.InitArrayBuilder(const ItemNo, FieldNo: Longint): TArrayBuilder;
 begin
   Result.Arr := SetArray(ItemNo, FieldNo, 0);

+ 2 - 2
Projects/Src/Setup.ScriptFunc.HelperFunc.pas

@@ -89,7 +89,7 @@ function FindFirstHelper(const FileName: String; var FindRec: TFindRec): Boolean
 function FindNextHelper(var FindRec: TFindRec): Boolean;
 procedure FindCloseHelper(var FindRec: TFindRec);
 procedure GetWindowsVersionExHelper(var Version: TWindowsVersion);
-procedure CrackCodeRootKey(CodeRootKey: HKEY; var RegView: TRegView;
+procedure CrackCodeRootKey(CodeRootKey: UInt32; var RegView: TRegView;
   var RootKey: HKEY);
 function GetSubkeyOrValueNames(const RegView: TRegView; const RootKey: HKEY;
   const SubKeyName: String; const Stack: TPSStack; const ItemNo: Longint; const Subkey: Boolean): Boolean;
@@ -273,7 +273,7 @@ begin
   Version.SuiteMask := WindowsSuiteMask;
 end;
 
-procedure CrackCodeRootKey(CodeRootKey: HKEY; var RegView: TRegView;
+procedure CrackCodeRootKey(CodeRootKey: UInt32; var RegView: TRegView;
   var RootKey: HKEY);
 begin
   if (CodeRootKey and not CodeRootKeyValidFlags) = HKEY_AUTO then begin

+ 16 - 16
Projects/Src/Setup.ScriptFunc.pas

@@ -505,7 +505,7 @@ var
     begin
       var RegView: TRegView;
       var RootKey: HKEY;
-      CrackCodeRootKey(Stack.GetInt(PStart-1), RegView, RootKey);
+      CrackCodeRootKey(Stack.GetUInt32(PStart-1), RegView, RootKey);
       var SubKeyName := Stack.GetString(PStart-2);
       var K: HKEY;
       if RegOpenKeyExView(RegView, RootKey, PChar(SubKeyName), 0, KEY_QUERY_VALUE, K) = ERROR_SUCCESS then begin
@@ -518,7 +518,7 @@ var
     begin
       var RegView: TRegView;
       var RootKey: HKEY;
-      CrackCodeRootKey(HKEY(Stack.GetInt(PStart-1)), RegView, RootKey);
+      CrackCodeRootKey(Stack.GetUInt32(PStart-1), RegView, RootKey);
       var SubKeyName := Stack.GetString(PStart-2);
       var K: HKEY;
       if RegOpenKeyExView(RegView, RootKey, PChar(SubKeyName), 0, KEY_QUERY_VALUE, K) = ERROR_SUCCESS then begin
@@ -532,7 +532,7 @@ var
     begin
       var RegView: TRegView;
       var RootKey: HKEY;
-      CrackCodeRootKey(HKEY(Stack.GetInt(PStart-1)), RegView, RootKey);
+      CrackCodeRootKey(Stack.GetUInt32(PStart-1), RegView, RootKey);
       var SubKey := Stack.GetString(PStart-2);
       Stack.SetBool(PStart, RegDeleteKeyIncludingSubkeys(RegView, RootKey, PChar(SubKey)) = ERROR_SUCCESS);
     end);
@@ -540,7 +540,7 @@ var
     begin
       var RegView: TRegView;
       var RootKey: HKEY;
-      CrackCodeRootKey(HKEY(Stack.GetInt(PStart-1)), RegView, RootKey);
+      CrackCodeRootKey(Stack.GetUInt32(PStart-1), RegView, RootKey);
       var SubKeyName := Stack.GetString(PStart-2);
       Stack.SetBool(PStart, RegDeleteKeyIfEmpty(RegView, RootKey, PChar(SubKeyName)) = ERROR_SUCCESS);
     end);
@@ -548,7 +548,7 @@ var
     begin
       var RegView: TRegView;
       var RootKey: HKEY;
-      CrackCodeRootKey(HKEY(Stack.GetInt(PStart-1)), RegView, RootKey);
+      CrackCodeRootKey(Stack.GetUInt32(PStart-1), RegView, RootKey);
       var SubKeyName := Stack.GetString(PStart-2);
       var K: HKEY;
       if RegOpenKeyExView(RegView, RootKey, PChar(SubKeyName), 0, KEY_SET_VALUE, K) = ERROR_SUCCESS then begin
@@ -562,7 +562,7 @@ var
     begin
       var RegView: TRegView;
       var RootKey: HKEY;
-      CrackCodeRootKey(HKEY(Stack.GetInt(PStart-1)), RegView, RootKey);
+      CrackCodeRootKey(Stack.GetUInt32(PStart-1), RegView, RootKey);
       Stack.SetBool(PStart, GetSubkeyOrValueNames(RegView, RootKey,
         Stack.GetString(PStart-2), Stack, PStart-3, True));
     end);
@@ -570,7 +570,7 @@ var
     begin
       var RegView: TRegView;
       var RootKey: HKEY;
-      CrackCodeRootKey(HKEY(Stack.GetInt(PStart-1)), RegView, RootKey);
+      CrackCodeRootKey(Stack.GetUInt32(PStart-1), RegView, RootKey);
       Stack.SetBool(PStart, GetSubkeyOrValueNames(RegView, RootKey,
         Stack.GetString(PStart-2), Stack, PStart-3, False));
     end);
@@ -578,7 +578,7 @@ var
     begin
       var RegView: TRegView;
       var RootKey: HKEY;
-      CrackCodeRootKey(HKEY(Stack.GetInt(PStart-1)), RegView, RootKey);
+      CrackCodeRootKey(Stack.GetUInt32(PStart-1), RegView, RootKey);
       var SubKeyName := Stack.GetString(PStart-2);
       var K: HKEY;
       if RegOpenKeyExView(RegView, RootKey, PChar(SubKeyName), 0, KEY_QUERY_VALUE, K) = ERROR_SUCCESS then begin
@@ -594,7 +594,7 @@ var
     begin
       var RegView: TRegView;
       var RootKey: HKEY;
-      CrackCodeRootKey(HKEY(Stack.GetInt(PStart-1)), RegView, RootKey);
+      CrackCodeRootKey(Stack.GetUInt32(PStart-1), RegView, RootKey);
       var SubKeyName := Stack.GetString(PStart-2);
       var K: HKEY;
       if RegOpenKeyExView(RegView, RootKey, PChar(SubKeyName), 0, KEY_QUERY_VALUE, K) = ERROR_SUCCESS then begin
@@ -610,7 +610,7 @@ var
     begin
       var RegView: TRegView;
       var RootKey: HKEY;
-      CrackCodeRootKey(HKEY(Stack.GetInt(PStart-1)), RegView, RootKey);
+      CrackCodeRootKey(Stack.GetUInt32(PStart-1), RegView, RootKey);
       var SubKeyName := Stack.GetString(PStart-2);
       var K: HKEY;
       if RegOpenKeyExView(RegView, RootKey, PChar(SubKeyName), 0, KEY_QUERY_VALUE, K) = ERROR_SUCCESS then begin
@@ -630,7 +630,7 @@ var
     begin
       var RegView: TRegView;
       var RootKey: HKEY;
-      CrackCodeRootKey(HKEY(Stack.GetInt(PStart-1)), RegView, RootKey);
+      CrackCodeRootKey(Stack.GetUInt32(PStart-1), RegView, RootKey);
       var SubKeyName := Stack.GetString(PStart-2);
       var K: HKEY;
       if RegOpenKeyExView(RegView, RootKey, PChar(SubKeyName), 0, KEY_QUERY_VALUE, K) = ERROR_SUCCESS then begin
@@ -654,7 +654,7 @@ var
     begin
       var RegView: TRegView;
       var RootKey: HKEY;
-      CrackCodeRootKey(HKEY(Stack.GetInt(PStart-1)), RegView, RootKey);
+      CrackCodeRootKey(Stack.GetUInt32(PStart-1), RegView, RootKey);
       var SubKeyName := Stack.GetString(PStart-2);
       var K: HKEY;
       if RegCreateKeyExView(RegView, RootKey, PChar(SubKeyName), 0, nil, REG_OPTION_NON_VOLATILE, KEY_QUERY_VALUE or KEY_SET_VALUE, nil, K, nil) = ERROR_SUCCESS then begin
@@ -677,7 +677,7 @@ var
     begin
       var RegView: TRegView;
       var RootKey: HKEY;
-      CrackCodeRootKey(HKEY(Stack.GetInt(PStart-1)), RegView, RootKey);
+      CrackCodeRootKey(Stack.GetUInt32(PStart-1), RegView, RootKey);
       var SubKeyName := Stack.GetString(PStart-2);
       var K: HKEY;
       if RegCreateKeyExView(RegView, RootKey, PChar(SubKeyName), 0, nil, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, nil, K, nil) = ERROR_SUCCESS then begin
@@ -695,7 +695,7 @@ var
     begin
       var RegView: TRegView;
       var RootKey: HKEY;
-      CrackCodeRootKey(HKEY(Stack.GetInt(PStart-1)), RegView, RootKey);
+      CrackCodeRootKey(Stack.GetUInt32(PStart-1), RegView, RootKey);
       var SubKeyName := Stack.GetString(PStart-2);
       var K: HKEY;
       if RegCreateKeyExView(RegView, RootKey, PChar(SubKeyName), 0, nil, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, nil, K, nil) = ERROR_SUCCESS then begin
@@ -719,7 +719,7 @@ var
     begin
       var RegView: TRegView;
       var RootKey: HKEY;
-      CrackCodeRootKey(HKEY(Stack.GetInt(PStart-1)), RegView, RootKey);
+      CrackCodeRootKey(Stack.GetUInt32(PStart-1), RegView, RootKey);
       var SubKeyName := Stack.GetString(PStart-2);
       var K: HKEY;
       if RegCreateKeyExView(RegView, RootKey, PChar(SubKeyName), 0, nil, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, nil, K, nil) = ERROR_SUCCESS then begin
@@ -737,7 +737,7 @@ var
     begin
       var RegView: TRegView;
       var RootKey: HKEY;
-      CrackCodeRootKey(HKEY(Stack.GetInt(PStart-1)), RegView, RootKey);
+      CrackCodeRootKey(Stack.GetUInt32(PStart-1), RegView, RootKey);
       var SubKeyName := Stack.GetString(PStart-2);
       var K: HKEY;
       if RegCreateKeyExView(RegView, RootKey, PChar(SubKeyName), 0, nil, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, nil, K, nil) = ERROR_SUCCESS then begin