Skip to content

Commit c9794e6

Browse files
committed
CurlDllName
1 parent 52251dc commit c9794e6

File tree

1 file changed

+52
-46
lines changed

1 file changed

+52
-46
lines changed

Src/Curl.Lib.pas

Lines changed: 52 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ interface
2424
IeUserAgent = 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko';
2525
EdgeUserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393';
2626

27+
{$IFDEF WIN64}
28+
CurlDllName = 'libcurl-x64.dll';
29+
{$ELSE}
30+
CurlDllName = 'libcurl.dll';
31+
{$ENDIF}
32+
2733
type
2834
// Primitive cUrl types
2935
TUnixTime = NativeUInt;
@@ -1681,8 +1687,8 @@ TCurlKhKey = record
16811687

16821688
// curl_strequal() and curl_strnequal() are subject for removal in a future
16831689
// libcurl, see lib/README.curlx for details
1684-
function curl_strequal(s1, s2 : PAnsiChar) : integer; cdecl; external 'libcurl.dll';
1685-
function curl_strnequal(s1, s2 : PAnsiChar; n : NativeUInt) : integer; cdecl; external 'libcurl.dll';
1690+
function curl_strequal(s1, s2 : PAnsiChar) : integer; cdecl; external CurlDllName;
1691+
function curl_strnequal(s1, s2 : PAnsiChar; n : NativeUInt) : integer; cdecl; external CurlDllName;
16861692

16871693
// Mime/form handling support.
16881694
type
@@ -1704,7 +1710,7 @@ TCurlMimePartInner = record end;
17041710
// Create a mime context and return its handle. The easy parameter is the
17051711
// target handle.
17061712
//
1707-
function curl_mime_init(easy : HCurl) : HCurlMime; cdecl; external 'libcurl.dll';
1713+
function curl_mime_init(easy : HCurl) : HCurlMime; cdecl; external CurlDllName;
17081714

17091715
// NAME curl_mime_free()
17101716
//
@@ -1713,7 +1719,7 @@ function curl_mime_init(easy : HCurl) : HCurlMime; cdecl; external 'libcurl.dl
17131719
// release a mime handle and its substructures.
17141720
//
17151721
procedure curl_mime_free(mime : HCurlMime);
1716-
cdecl; external 'libcurl.dll';
1722+
cdecl; external CurlDllName;
17171723

17181724
// NAME curl_mime_addpart()
17191725
//
@@ -1723,7 +1729,7 @@ procedure curl_mime_free(mime : HCurlMime);
17231729
// the created part.
17241730
//
17251731
function curl_mime_addpart(mime : HCurlMime) : HCurlMimePart;
1726-
cdecl; external 'libcurl.dll';
1732+
cdecl; external CurlDllName;
17271733

17281734
// NAME curl_mime_name()
17291735
//
@@ -1732,7 +1738,7 @@ function curl_mime_addpart(mime : HCurlMime) : HCurlMimePart;
17321738
// Set mime/form part name.
17331739
//
17341740
function curl_mime_name(part : HCurlMimePart; name : PAnsiChar) : TCurlCode;
1735-
cdecl; external 'libcurl.dll';
1741+
cdecl; external CurlDllName;
17361742

17371743
// NAME curl_mime_filename()
17381744
//
@@ -1742,7 +1748,7 @@ function curl_mime_name(part : HCurlMimePart; name : PAnsiChar) : TCurlCode;
17421748
//
17431749
function curl_mime_filename(
17441750
Part : HCurlMimePart; filename : PAnsiChar) : TCurlCode;
1745-
cdecl; external 'libcurl.dll';
1751+
cdecl; external CurlDllName;
17461752

17471753
//
17481754
// NAME curl_mime_type()
@@ -1752,7 +1758,7 @@ function curl_mime_filename(
17521758
// Set mime part type.
17531759
//
17541760
function curl_mime_type(part : HCurlMime; mimetype : PAnsiChar) : TCurlCode;
1755-
cdecl; external 'libcurl.dll';
1761+
cdecl; external CurlDllName;
17561762

17571763
// NAME curl_mime_encoder()
17581764
//
@@ -1762,7 +1768,7 @@ function curl_mime_type(part : HCurlMime; mimetype : PAnsiChar) : TCurlCode;
17621768
//
17631769
function curl_mime_encoder(
17641770
part : HCurlMimePart; encoding : PAnsiChar) : TCurlCode;
1765-
cdecl; external 'libcurl.dll';
1771+
cdecl; external CurlDllName;
17661772

17671773
// NAME curl_mime_data()
17681774
//
@@ -1772,7 +1778,7 @@ function curl_mime_encoder(
17721778
//
17731779
function curl_mime_data(
17741780
part : HCurlMimePart; data : Pointer; datasize : NativeUint) : TCurlCode;
1775-
cdecl; external 'libcurl.dll';
1781+
cdecl; external CurlDllName;
17761782

17771783
// NAME curl_mime_filedata()
17781784
//
@@ -1782,7 +1788,7 @@ function curl_mime_data(
17821788
//
17831789
function curl_mime_filedata(
17841790
part : HCurlMimePart; filename : PAnsiChar) : TCurlCode;
1785-
cdecl; external 'libcurl.dll';
1791+
cdecl; external CurlDllName;
17861792

17871793
// NAME curl_mime_data_cb()
17881794
//
@@ -1797,7 +1803,7 @@ function curl_mime_data_cb(
17971803
seekfunc : EvCurlSeek;
17981804
freefunc : EvCurlFree;
17991805
arg : pointer) : TCurlCode;
1800-
cdecl; external 'libcurl.dll';
1806+
cdecl; external CurlDllName;
18011807

18021808
// NAME curl_mime_subparts()
18031809
//
@@ -1807,7 +1813,7 @@ function curl_mime_data_cb(
18071813
//
18081814
function curl_mime_subparts(
18091815
part : HCurlMimePart; subparts : HCurlMime) : TCurlCode;
1810-
cdecl; external 'libcurl.dll';
1816+
cdecl; external CurlDllName;
18111817

18121818
// NAME curl_mime_headers()
18131819
//
@@ -1819,7 +1825,7 @@ function curl_mime_headers(
18191825
part : HCurlMimePart;
18201826
headers : PCurlSList;
18211827
take_ownership : integer) : TCurlCode;
1822-
cdecl; external 'libcurl.dll';
1828+
cdecl; external CurlDllName;
18231829

18241830

18251831
type
@@ -1902,7 +1908,7 @@ TCurlForms = record
19021908
//
19031909
function curl_formadd_initial(
19041910
var httppost, last_post : PCurlHttpPost) : TCurlFormCode;
1905-
varargs; cdecl; external 'libcurl.dll' name 'curl_formadd';
1911+
varargs; cdecl; external CurlDllName name 'curl_formadd';
19061912

19071913
function curl_formadd(
19081914
var httppost, last_post : PCurlHttpPost;
@@ -2034,15 +2040,15 @@ function curl_formget(
20342040
form : PCurlHttpPost;
20352041
arg : pointer;
20362042
append : EvCurlFormGet) : integer;
2037-
cdecl; external 'libcurl.dll';
2043+
cdecl; external CurlDllName;
20382044

20392045
// NAME curl_formfree()
20402046
//
20412047
// DESCRIPTION
20422048
//
20432049
// Free a multipart formpost previously built with curl_formadd().
20442050
procedure curl_formfree(form : PCurlHttpPost);
2045-
cdecl; external 'libcurl.dll';
2051+
cdecl; external CurlDllName;
20462052

20472053
// NAME curl_getenv()
20482054
//
@@ -2051,15 +2057,15 @@ procedure curl_formfree(form : PCurlHttpPost);
20512057
// Returns a malloc()'ed string that MUST be curl_free()ed after usage is
20522058
// complete. DEPRECATED - see lib/README.curlx
20532059
function curl_getenv(variable : PAnsiChar) : PAnsiChar;
2054-
cdecl; external 'libcurl.dll';
2060+
cdecl; external CurlDllName;
20552061

20562062
// NAME curl_version()
20572063
//
20582064
// DESCRIPTION
20592065
//
20602066
// Returns a static ascii string of the libcurl version.
20612067
function curl_version : PAnsiChar;
2062-
cdecl; external 'libcurl.dll';
2068+
cdecl; external CurlDllName;
20632069

20642070
// NAME curl_easy_escape()
20652071
//
@@ -2072,13 +2078,13 @@ function curl_easy_escape(
20722078
handle : HCurl;
20732079
str : PAnsiChar;
20742080
length : integer) : PAnsiChar;
2075-
cdecl; external 'libcurl.dll';
2081+
cdecl; external CurlDllName;
20762082

20772083
// the previous version:
20782084
function curl_escape(
20792085
str : PAnsiChar;
20802086
length : integer) : PAnsiChar;
2081-
cdecl; external 'libcurl.dll';
2087+
cdecl; external CurlDllName;
20822088

20832089

20842090
// NAME curl_easy_unescape()
@@ -2096,13 +2102,13 @@ function curl_easy_unescape(
20962102
str : PAnsiChar;
20972103
length : integer;
20982104
var outlength : integer) : PAnsiChar;
2099-
cdecl; external 'libcurl.dll';
2105+
cdecl; external CurlDllName;
21002106

21012107
// the previous version
21022108
function curl_unescape(
21032109
str : PAnsiChar;
21042110
length : integer) : PAnsiChar;
2105-
cdecl; external 'libcurl.dll';
2111+
cdecl; external CurlDllName;
21062112

21072113
// NAME curl_free()
21082114
//
@@ -2112,7 +2118,7 @@ function curl_unescape(
21122118
// allocation. Added in libcurl 7.10
21132119
//
21142120
procedure curl_free(p : pointer);
2115-
cdecl; external 'libcurl.dll';
2121+
cdecl; external CurlDllName;
21162122

21172123
// NAME curl_global_init()
21182124
//
@@ -2124,7 +2130,7 @@ procedure curl_free(p : pointer);
21242130
// This function is not thread-safe!
21252131
//
21262132
function curl_global_init(flags : longint) : TCurlCode;
2127-
cdecl; external 'libcurl.dll';
2133+
cdecl; external CurlDllName;
21282134

21292135
// NAME curl_global_init_mem()
21302136
//
@@ -2144,7 +2150,7 @@ function curl_global_init_mem(
21442150
r : EvCurlRealloc;
21452151
s : EvCurlStrDup;
21462152
c : EvCurlCalloc) : TCurlCode;
2147-
cdecl; external 'libcurl.dll';
2153+
cdecl; external CurlDllName;
21482154

21492155
// NAME curl_global_cleanup()
21502156
//
@@ -2154,7 +2160,7 @@ function curl_global_init_mem(
21542160
// that uses libcurl
21552161
//
21562162
procedure curl_global_cleanup;
2157-
cdecl; external 'libcurl.dll';
2163+
cdecl; external CurlDllName;
21582164

21592165
// NAME curl_slist_append()
21602166
//
@@ -2165,7 +2171,7 @@ procedure curl_global_cleanup;
21652171
//
21662172
function curl_slist_append(
21672173
list : PCurlSList; data : PAnsiChar) : PCurlSList;
2168-
cdecl; external 'libcurl.dll';
2174+
cdecl; external CurlDllName;
21692175

21702176
// NAME curl_slist_free_all()
21712177
//
@@ -2174,7 +2180,7 @@ function curl_slist_append(
21742180
// free a previously built curl_slist.
21752181
//
21762182
procedure curl_slist_free_all(list : PCurlSList);
2177-
cdecl; external 'libcurl.dll';
2183+
cdecl; external CurlDllName;
21782184

21792185
// NAME curl_getdate()
21802186
//
@@ -2187,7 +2193,7 @@ procedure curl_slist_free_all(list : PCurlSList);
21872193
function curl_getdate(
21882194
p : PAnsiChar;
21892195
unused : TUnixTime = 0) : TUnixTime;
2190-
cdecl; external 'libcurl.dll';
2196+
cdecl; external CurlDllName;
21912197

21922198
// info about the certificate chain, only for OpenSSL builds. Asked
21932199
// for with CURLOPT_CERTINFO / CURLINFO_CERTINFO
@@ -2389,15 +2395,15 @@ TCurlTlsSessionInfo = record
23892395
); // callback functions
23902396

23912397
function curl_share_init : TCurlSh;
2392-
cdecl; external 'libcurl.dll';
2398+
cdecl; external CurlDllName;
23932399

23942400
function curl_share_setopt(
23952401
share : TCurlSh;
23962402
option : TCurlShOption) : TCurlShCode; varargs;
2397-
cdecl; external 'libcurl.dll';
2403+
cdecl; external CurlDllName;
23982404

23992405
function curl_share_cleanup(share : TCurlSh) : TCurlShCode;
2400-
cdecl; external 'libcurl.dll';
2406+
cdecl; external CurlDllName;
24012407

24022408
//****************************************************************************
24032409
// Structures for querying information about the curl library at runtime.
@@ -2479,7 +2485,7 @@ TCurlVersionInfo = record
24792485
//
24802486
function curl_version_info(
24812487
x : TCurlVersion = CURLVERSION_NOW) : PCurlVersionInfo;
2482-
cdecl; external 'libcurl.dll';
2488+
cdecl; external CurlDllName;
24832489

24842490

24852491
// NAME curl_easy_strerror()
@@ -2491,7 +2497,7 @@ function curl_version_info(
24912497
// for printing meaningful error messages.
24922498
//
24932499
function curl_easy_strerror(code : TCurlCode) : PAnsiChar;
2494-
cdecl; external 'libcurl.dll' name 'curl_easy_strerror';
2500+
cdecl; external CurlDllName name 'curl_easy_strerror';
24952501

24962502
// NAME curl_share_strerror()
24972503
//
@@ -2502,7 +2508,7 @@ function curl_easy_strerror(code : TCurlCode) : PAnsiChar;
25022508
// for printing meaningful error messages.
25032509
//
25042510
function curl_share_strerror(code : TCurlShCode) : PAnsiChar;
2505-
cdecl; external 'libcurl.dll';
2511+
cdecl; external CurlDllName;
25062512

25072513

25082514
// NAME curl_easy_pause()
@@ -2513,7 +2519,7 @@ function curl_share_strerror(code : TCurlShCode) : PAnsiChar;
25132519
// state by setting the bitmask, use the convenience defines below.
25142520
//
25152521
function curl_easy_pause(handle : HCurl; bitmask : integer) : TCurlCode;
2516-
cdecl; external 'libcurl.dll';
2522+
cdecl; external CurlDllName;
25172523

25182524
const
25192525
CURLPAUSE_RECV = 1 shl 0;
@@ -2526,11 +2532,11 @@ function curl_easy_pause(handle : HCurl; bitmask : integer) : TCurlCode;
25262532

25272533

25282534
function curl_easy_init : HCurl;
2529-
cdecl; external 'libcurl.dll';
2535+
cdecl; external CurlDllName;
25302536

25312537
function curl_easy_setopt_initial(
25322538
curl : HCurl) : TCurlCode; varargs;
2533-
cdecl; external 'libcurl.dll' name 'curl_easy_setopt';
2539+
cdecl; external CurlDllName name 'curl_easy_setopt';
25342540

25352541
function curl_easy_setopt(
25362542
curl : HCurl;
@@ -2608,10 +2614,10 @@ function curl_easy_setopt(
26082614
data : TCurlSslVersion) : TCurlCode; overload; inline;
26092615

26102616
function curl_easy_perform(curl : HCurl) : TCurlCode;
2611-
cdecl; external 'libcurl.dll';
2617+
cdecl; external CurlDllName;
26122618

26132619
procedure curl_easy_cleanup(curl : HCurl);
2614-
cdecl; external 'libcurl.dll';
2620+
cdecl; external CurlDllName;
26152621

26162622
// NAME curl_easy_getinfo()
26172623
//
@@ -2627,7 +2633,7 @@ procedure curl_easy_cleanup(curl : HCurl);
26272633

26282634
function curl_easy_getinfo_initial(
26292635
curl : HCurl) : TCurlCode; varargs;
2630-
cdecl; external 'libcurl.dll' name 'curl_easy_getinfo';
2636+
cdecl; external CurlDllName name 'curl_easy_getinfo';
26312637

26322638
function curl_easy_getinfo(
26332639
curl : HCurl;
@@ -2684,7 +2690,7 @@ function curl_easy_getinfo(
26842690
//
26852691
function curl_easy_duphandle(
26862692
curl : HCurl) : HCurl;
2687-
cdecl; external 'libcurl.dll';
2693+
cdecl; external CurlDllName;
26882694

26892695

26902696
// NAME curl_easy_reset()
@@ -2698,7 +2704,7 @@ function curl_easy_duphandle(
26982704
// cookies.
26992705
//
27002706
procedure curl_easy_reset(curl : HCurl);
2701-
cdecl; external 'libcurl.dll';
2707+
cdecl; external CurlDllName;
27022708

27032709

27042710
// NAME curl_easy_recv()
@@ -2713,7 +2719,7 @@ function curl_easy_recv(
27132719
var buffer;
27142720
buflen : NativeUInt;
27152721
out n : NativeUInt) : TCurlCode;
2716-
cdecl; external 'libcurl.dll';
2722+
cdecl; external CurlDllName;
27172723

27182724

27192725
// NAME curl_easy_send()
@@ -2728,7 +2734,7 @@ function curl_easy_send(
27282734
var buffer;
27292735
buflen : NativeUint;
27302736
out n : NativeUInt) : TCurlCode;
2731-
cdecl; external 'libcurl.dll';
2737+
cdecl; external CurlDllName;
27322738

27332739
//#define curl_share_setopt(share,opt,param) curl_share_setopt(share,opt,param)
27342740
//#define curl_multi_setopt(handle,opt,param) curl_multi_setopt(handle,opt,param)

0 commit comments

Comments
 (0)