فهرست منبع

Fix #190

findaccounts with 'name' and 'exact:false' not working as expected.
Updated version to 4.1.1
PascalCoin 6 سال پیش
والد
کامیت
a9a8d4d4ea
3فایلهای تغییر یافته به همراه6 افزوده شده و 3 حذف شده
  1. 4 1
      src/core/UBaseTypes.pas
  2. 1 1
      src/core/UConst.pas
  3. 1 1
      src/core/URPC.pas

+ 4 - 1
src/core/UBaseTypes.pas

@@ -336,9 +336,12 @@ end;
 class function TBaseType.StartsWith(const subst, target: TRawBytes): Boolean;
 var i : Integer;
 begin
+  if (Length(target)<Length(subst)) then begin
+    Exit(False);
+  end;
   i := Low(subst);
   while (i<=High(subst)) and (i<=High(target)) and (target[i]=subst[i]) do inc(i);
-  Result := (i>High(subst)) and (i>High(target));
+  Result := (i>High(subst));
 end;
 
 class procedure TBaseType.Concat(const addBytes: T32Bytes; var target: TDynRawBytes);

+ 1 - 1
src/core/UConst.pas

@@ -176,7 +176,7 @@ Const
   CT_OpSubtype_Data_Signer                = 103;
   CT_OpSubtype_Data_Receiver              = 104;
 
-  CT_ClientAppVersion : String = {$IFDEF PRODUCTION}'4.1'{$ELSE}{$IFDEF TESTNET}'TESTNET 4.1'{$ELSE}{$ENDIF}{$ENDIF};
+  CT_ClientAppVersion : String = {$IFDEF PRODUCTION}'4.1.1'{$ELSE}{$IFDEF TESTNET}'TESTNET 4.1.1'{$ELSE}{$ENDIF}{$ENDIF};
 
   CT_Discover_IPs = {$IFDEF PRODUCTION}'bpascal1.dynamic-dns.net;bpascal2.dynamic-dns.net;pascalcoin1.dynamic-dns.net;pascalcoin2.dynamic-dns.net;pascalcoin1.dns1.us;pascalcoin2.dns1.us;pascalcoin1.dns2.us;pascalcoin2.dns2.us'
                     {$ELSE}'pascaltestnet1.dynamic-dns.net;pascaltestnet2.dynamic-dns.net;pascaltestnet1.dns1.us;pascaltestnet2.dns1.us'{$ENDIF};

+ 1 - 1
src/core/URPC.pas

@@ -2251,7 +2251,7 @@ function TRPCProcess.ProcessMethod(const method: String; params: TPCJSONObject;
            Continue;
         end;
 
-        if ((Length(accountName)>0) AND (TBaseType.StartsWith(accountName,account.name))) then
+        if ((Length(accountName)>0) AND (Not TBaseType.StartsWith(accountName,account.name))) then
         begin
           Continue
         end;