Move string types to pgtypes.pas and port dnscore
authorzipplet <zipplet@zipplet.co.uk>
Tue, 9 Feb 2010 21:18:27 +0000 (21:18 +0000)
committerzipplet <zipplet@zipplet.co.uk>
Tue, 9 Feb 2010 21:18:27 +0000 (21:18 +0000)
git-svn-id: file:///svnroot/lcore/branches/delphi2010@68 b1de8a11-f9be-4011-bde0-cc7ace90066a

dnscore.pas
dnswin.pas
lcore.pas
pgtypes.pas

index 4cb52e2461231bab9f3a34a547e0ee9290f0f44d..86cad69b65f7783528426c44057faad3e009b5f5 100644 (file)
@@ -85,7 +85,7 @@ var useaf:integer = useaf_default;
 {\r
 (temporarily) use a different nameserver, regardless of the dnsserverlist\r
 }\r
-var overridednsserver:string;\r
+var overridednsserver:ansistring;\r
 \r
 const\r
   maxnamelength=127;\r
@@ -125,16 +125,16 @@ type
   tdnsstate=record\r
     id:word;\r
     recursioncount:integer;\r
-    queryname:string;\r
+    queryname:ansistring;\r
     requesttype:word;\r
     parsepacket:boolean;\r
-    resultstr:string;\r
+    resultstr:ansistring;\r
     resultbin:tbinip;\r
     resultlist:tbiniplist;\r
     resultaction:integer;\r
     numrr1:array[0..3] of integer;\r
     numrr2:integer;\r
-    rrdata:string;\r
+    rrdata:ansistring;\r
     sendpacketlen:integer;\r
     sendpacket:tdnspacket;\r
     recvpacketlen:integer;\r
@@ -165,20 +165,20 @@ type
 //function buildrequest(const name:string;var packet:tdnspacket;requesttype:word):integer;\r
 \r
 //returns the DNS name used to reverse look up an IP, such as 4.3.2.1.in-addr.arpa for 1.2.3.4\r
-function makereversename(const binip:tbinip):string;\r
+function makereversename(const binip:tbinip):ansistring;\r
 \r
-procedure setstate_request_init(const name:string;var state:tdnsstate);\r
+procedure setstate_request_init(const name:ansistring;var state:tdnsstate);\r
 \r
 //set up state for a foward lookup. A family value of AF_INET6 will give only\r
 //ipv6 results. Any other value will give only ipv4 results\r
-procedure setstate_forward(const name:string;var state:tdnsstate;family:integer);\r
+procedure setstate_forward(const name:ansistring;var state:tdnsstate;family:integer);\r
 \r
 procedure setstate_reverse(const binip:tbinip;var state:tdnsstate);\r
 procedure setstate_failure(var state:tdnsstate);\r
 //procedure setstate_return(const rrp:trrpointer;len:integer;var state:tdnsstate);\r
 \r
 //for custom raw lookups such as TXT, as desired by the user\r
-procedure setstate_custom(const name:string; requesttype:integer; var state:tdnsstate);\r
+procedure setstate_custom(const name:ansistring; requesttype:integer; var state:tdnsstate);\r
 \r
 procedure state_process(var state:tdnsstate);\r
 \r
@@ -195,7 +195,7 @@ var
 //getcurrentsystemnameserver returns the nameserver the app should use and sets\r
 //id to the id of that nameserver. id should later be used to report how laggy\r
 //the servers response was and if it was timed out.\r
-function getcurrentsystemnameserver(var id:integer) :string;\r
+function getcurrentsystemnameserver(var id:integer) :ansistring;\r
 procedure reportlag(id:integer;lag:integer); //lag should be in microseconds and should be -1 to report a timeout\r
 \r
 //var\r
@@ -213,9 +213,9 @@ var
 {$endif}\r
 \r
 var\r
-  failurereason:string;\r
+  failurereason:ansistring;\r
 \r
-function getquerytype(s:string):integer;\r
+function getquerytype(s:ansistring):integer;\r
 \r
 implementation\r
 \r
@@ -228,7 +228,7 @@ uses
 \r
 \r
 \r
-function getquerytype(s:string):integer;\r
+function getquerytype(s:ansistring):integer;\r
 begin\r
   s := uppercase(s);\r
   result := 0;\r
@@ -244,10 +244,10 @@ begin
   if (s = 'SPF') then result := querytype_spf;\r
 end;\r
 \r
-function buildrequest(const name:string;var packet:tdnspacket;requesttype:word):integer;\r
+function buildrequest(const name:ansistring;var packet:tdnspacket;requesttype:word):integer;\r
 var\r
   a,b:integer;\r
-  s:string;\r
+  s:ansistring;\r
   arr:array[0..sizeof(packet)-1] of byte absolute packet;\r
 begin\r
  { writeln('buildrequest: name: ',name);}\r
@@ -289,9 +289,9 @@ begin
   arr[result-4] := requesttype shr 8;\r
 end;\r
 \r
-function makereversename(const binip:tbinip):string;\r
+function makereversename(const binip:tbinip):ansistring;\r
 var\r
-  name:string;\r
+  name:ansistring;\r
   a,b:integer;\r
 begin\r
   name := '';\r
@@ -323,10 +323,10 @@ doesnt read beyond len.
 empty result + non null failurereason: failure\r
 empty result + null failurereason: internal use\r
 }\r
-function decodename(const packet:tdnspacket;len,start,recursion:integer;var numread:integer):string;\r
+function decodename(const packet:tdnspacket;len,start,recursion:integer;var numread:integer):ansistring;\r
 var\r
   arr:array[0..sizeof(packet)-1] of byte absolute packet;\r
-  s:string;\r
+  s:ansistring;\r
   a,b:integer;\r
 begin\r
   numread := 0;\r
@@ -385,7 +385,7 @@ end;
 \r
 {==============================================================================}\r
 \r
-function getrawfromrr(const rrp:trrpointer;len:integer):string;\r
+function getrawfromrr(const rrp:trrpointer;len:integer):ansistring;\r
 begin\r
   setlength(result,htons(trr(rrp.p^).datalen));\r
   uniquestring(result);\r
@@ -441,7 +441,7 @@ begin
   end;\r
 end;\r
 \r
-procedure setstate_request_init(const name:string;var state:tdnsstate);\r
+procedure setstate_request_init(const name:ansistring;var state:tdnsstate);\r
 begin\r
   {destroy things properly}\r
   state.resultstr := '';\r
@@ -452,7 +452,7 @@ begin
   state.parsepacket := false;\r
 end;\r
 \r
-procedure setstate_forward(const name:string;var state:tdnsstate;family:integer);\r
+procedure setstate_forward(const name:ansistring;var state:tdnsstate;family:integer);\r
 begin\r
   setstate_request_init(name,state);\r
   state.forwardfamily := family;\r
@@ -468,7 +468,7 @@ begin
   state.requesttype := querytype_ptr;\r
 end;\r
 \r
-procedure setstate_custom(const name:string; requesttype:integer; var state:tdnsstate);\r
+procedure setstate_custom(const name:ansistring; requesttype:integer; var state:tdnsstate);\r
 begin\r
   setstate_request_init(name,state);\r
   state.requesttype := requesttype;\r
@@ -656,7 +656,7 @@ var
     currentdnsserver : pip_addr_string;\r
   {$else}\r
     t:textfile;\r
-    s:string;\r
+    s:ansistring;\r
     a:integer;\r
   {$endif}\r
 begin\r
@@ -717,7 +717,7 @@ begin
   end;\r
 end;\r
 \r
-function getcurrentsystemnameserver(var id:integer):string;\r
+function getcurrentsystemnameserver(var id:integer):ansistring;\r
 var\r
   counter : integer;\r
 \r
@@ -757,7 +757,7 @@ end;
 function getv6localips:tbiniplist;\r
 var\r
   t:textfile;\r
-  s,s2:string;\r
+  s,s2:ansistring;\r
   ip:tbinip;\r
   a:integer;\r
 begin\r
index 02539e901d963ed2cc04af9640a2e313d0bddeda..847f0fd9bfa88a4ba971898e5ee27d20e4538335 100644 (file)
@@ -2,7 +2,7 @@ unit dnswin;
 \r
 interface\r
 \r
-uses binipstuff,classes,lcore;\r
+uses binipstuff,classes,lcore,pgtypes;\r
 \r
 {$include lcoreconfig.inc}\r
 \r
@@ -42,7 +42,8 @@ type
 \r
 implementation\r
 uses\r
-  lsocket,pgtypes,sysutils,winsock,windows,messages;\r
+  { zipplet: moved pgtypes to interface because it's needed for the string definitions }\r
+  lsocket,sysutils,winsock,windows,messages;\r
 \r
 type\r
   //taddrinfo = record; //forward declaration\r
index d0fc5686a88848574676f7d36972a598b734e57b..0f6eaef5025a5cbf3a9b8db87bf33b047108c24e 100755 (executable)
--- a/lcore.pas
+++ b/lcore.pas
@@ -48,19 +48,6 @@ interface
     absoloutemaxs:integer=0;\r
 \r
   type\r
-    {$IF CompilerVersion >= 20.0}\r
-      { Delphi 2009/2010 widestring is the default string type }\r
-      thostname = ansistring;\r
-      tbufferstring = ansistring;\r
-      tipstring = ansistring;\r
-    {$else}\r
-      { Old pre-unicode delphi, todo: need to check if ansistring is available\r
-        in all older versions of delphi }\r
-      thostname = string;\r
-      tbufferstring = string;\r
-      tipstring = string;\r
-    {$ifend}\r
-\r
     {$ifdef ver1_0}\r
       sigset= array[0..31] of longint;\r
     {$endif}\r
index 3c48e26bb00e8a22f3b0b35cfd40228e9f5e5916..4dfd66de36b555d50b4e59e54be09caa846c95f3 100755 (executable)
@@ -16,5 +16,9 @@ interface
     {$endif}\r
     paddrint=^taddrint;\r
 \r
+    thostname = ansistring;\r
+    tbufferstring = ansistring;\r
+    tipstring = ansistring;\r
+\r
 implementation\r
 end.\r