anchor.diff:  
   end;
   
  -function SearchPointer(pvSource: Pointer; pvSourceLen: Integer; pvSub: Pointer;
  -    pvSubLen: Integer): Pointer;
  +function SearchPointer(pvSource: Pointer; pvSourceLen, pvStartIndex: Integer;
  +    pvSub: Pointer; pvSubLen: Integer): Pointer;
   var
     I, j, l: Integer;
     lvTempP, lvTempPSub, lvTempP2, lvTempPSub2:PByte;
   begin
     if (pvSub = nil) then
  -    Result := pvSource
  +    Result := nil
     else
     begin
       Result := nil;
       j := 0;
       lvTempP := PByte(pvSource);
  +    Inc(lvTempP, pvStartIndex);
  +
       lvTempPSub := PByte(pvSub);
       while j<pvSourceLen do
       begin
  
positive.code: 
  /// <summary>
  ///   PSubPгֵĵһλ
  ///   ȷ
  ///   PSubΪnilpvSubLenΪ0ֱӷP
  /// </summary>
  /// <returns>
  ///   ҵ, P
  ///   ҲFalse
  /// </returns>
  /// <param name="pvSource">  </param>
  /// <param name="pvSourceLen"> ݳ </param>
  /// <param name="pvSub"> ҵ </param>
  /// <param name="pvSubLen"> ҵݳ </param>
  function SearchPointer(pvSource: Pointer; pvSourceLen: Integer; pvSub: Pointer;
      pvSubLen: Integer): Pointer;
  
  
  implementation
  
negative.code: {$ELSE}
  WChar = WideChar;
  PWChar = PWideChar;
  IntPtr = Integer;
  {$ENDIF}
  
  
  