OSDN Git Service

・r1.111 のバッファオーバーの修正でコピー範囲がずれてしまっていたバグを修正。
authoryoffy <yoffy>
Mon, 8 Mar 2004 07:16:47 +0000 (07:16 +0000)
committeryoffy <yoffy>
Mon, 8 Mar 2004 07:16:47 +0000 (07:16 +0000)
GikoSystem.pas

index ba4e4e1..59688c6 100644 (file)
@@ -1463,12 +1463,15 @@ begin
 
                s := Copy(s, idx, length(s));
 
-               b := Length( s );
+               b := Length( s ) + 1;
                for i := 1 to b do begin
-                       idx := AnsiPos(s[i], URL_CHAR);
-                       if (idx = 0) or (i = b) then begin
+                       if i = b then
+       idx := 0
+      else
+                               idx := AnsiPos(s[i], URL_CHAR);
+                       if idx = 0 then begin
                                //URL\82\82á\82È\82¢\95\8e\9a\94­\8c©\81I\82Æ\82©\81A\95\8e\9a\82ª\82È\82­\82È\82Á\82½\81B
-                               url := Copy(s, 0, i);
+                               url := Copy(s, 0, i - 1);
 
                                if AnsiPos('ttp://', url) = 1 then
                                        href := 'h' + url
@@ -1481,7 +1484,7 @@ begin
                                else
                                        href := url;
                                Result := Result + '<a href="' + href + '" target="_blank">' + url + '</a>';
-                               s := Copy(s, i, Length(s));
+                               s := Copy(s, i, MaxInt);
                                Break;
                        end;
                end;