This tiny patch adds global var (option) which allows to raise exeption, when utf8 cannot convert to single byte page. needed for CudaText to detect that user text cannot convert to current codepage. its default is off (don't use exception).

--
Regards,
Alexey

Index: components/lazutils/lconvencoding.pas
===================================================================
--- components/lazutils/lconvencoding.pas	(revision 59166)
+++ components/lazutils/lconvencoding.pas	(working copy)
@@ -31,6 +31,9 @@
   SysUtils, Classes, dos, LazUTF8
   {$IFDEF EnableIconvEnc},iconvenc{$ENDIF};
 
+var
+  ConvertEncodingFromUtf8RaisesException: boolean = False;
+
 //encoding names
 const
   EncodingUTF8 = 'utf8';
@@ -7033,7 +7036,10 @@
       if i>=0 then begin
         Dest^:=chr(i);
         inc(Dest);
-      end;
+      end
+      else
+      if ConvertEncodingFromUtf8RaisesException then
+        raise EConvertError.Create('Cannot convert UTF8 to single byte');
     end;
   end;
   SetLength(Result,Dest-PChar(Result));
-- 
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus

Reply via email to