libwww suggested patch under win32
Fabrice Popineau <[email protected]>
| Newsgroups | gmane.comp.lib.libwww |
|---|---|
| Message-ID | <[email protected]> |
Attached is a small patch to make libwww compile cleanly under the fastcall calling convention provided with the /Gr of the microsoft compiler. Thanks for commenting about it and the possible integration into the main source tree. -- Fabrice Popineau ------------------------ e-mail: [email protected] | The difference between theory voice-mail: +33 (0) 387764715 | and practice, is that surface-mail: Supelec, 2 rue E. Belin, | theoretically, F-57070 Metz | there is no difference !
libwww-1.diff
(text/x-patch, 6.8 KB)
diff -ruN e:\TeXLive\Build\source.development\TeX\libs\libwww/HTArray.h libwww/HTArray.h
--- e:\TeXLive\Build\source.development\TeX\libs\libwww/HTArray.h Wed Jun 12 11:31:21 2002
+++ libwww/HTArray.h Sun Aug 04 23:57:06 2002
@@ -113,7 +113,7 @@
*/
-typedef int HTComparer (const void * a, const void * b);
+typedef int CDECL HTComparer (const void * a, const void * b);
/*
diff -ruN e:\TeXLive\Build\source.development\TeX\libs\libwww/HTDir.c libwww/HTDir.c
--- e:\TeXLive\Build\source.development\TeX\libs\libwww/HTDir.c Tue Jun 27 12:07:00 2000
+++ libwww/HTDir.c Tue Feb 12 16:14:16 2002
@@ -447,7 +447,7 @@
return YES;
}
-PRIVATE int DirSort (const void *a, const void *b)
+PRIVATE int CDECL DirSort (const void *a, const void *b)
{
#if 0
HTDirNode *aa = *(HTDirNode **) a;
@@ -459,7 +459,7 @@
#endif
}
-PRIVATE int DirCaseSort (const void *a, const void *b)
+PRIVATE int CDECL DirCaseSort (const void *a, const void *b)
{
#if 0
HTDirNode *aa = *(HTDirNode **) a;
diff -ruN e:\TeXLive\Build\source.development\TeX\libs\libwww/HTMulti.c libwww/HTMulti.c
--- e:\TeXLive\Build\source.development\TeX\libs\libwww/HTMulti.c Thu Jan 06 10:48:51 2000
+++ libwww/HTMulti.c Tue Feb 12 16:15:22 2002
@@ -39,7 +39,7 @@
/*
** Sort the q values in descending order
*/
-PRIVATE int VariantSort (const void * a, const void * b)
+PRIVATE int CDECL VariantSort (const void * a, const void * b)
{
HTContentDescription * aa = *(HTContentDescription **) a;
HTContentDescription * bb = *(HTContentDescription **) b;
diff -ruN e:\TeXLive\Build\source.development\TeX\libs\libwww/HTNDir.c libwww/HTNDir.c
--- e:\TeXLive\Build\source.development\TeX\libs\libwww/HTNDir.c Mon Feb 22 22:10:12 1999
+++ libwww/HTNDir.c Wed Feb 13 09:12:26 2002
@@ -717,35 +717,35 @@
}
}
-PRIVATE int NDirIndexSort (const void *a, const void *b)
+PRIVATE int CDECL NDirIndexSort (const void *a, const void *b)
{
int aa = (*((HTNewsNode **)a))->index;
int bb = (*((HTNewsNode **)b))->index;
return aa-bb;
}
-PRIVATE int NDirSubjectSort (const void *a, const void *b)
+PRIVATE int CDECL NDirSubjectSort (const void *a, const void *b)
{
char *aa = (*((HTNewsNode **)a))->subject;
char *bb = (*((HTNewsNode **)b))->subject;
return strcasecomp(aa?aa:"", bb?bb:"");
}
-PRIVATE int NDirFromSort (const void *a, const void *b)
+PRIVATE int CDECL NDirFromSort (const void *a, const void *b)
{
char *aa = (*((HTNewsNode **)a))->from;
char *bb = (*((HTNewsNode **)b))->from;
return strcasecomp(aa?aa:"", bb?bb:"");
}
-PRIVATE int NDirDateSort (const void *a, const void *b)
+PRIVATE int CDECL NDirDateSort (const void *a, const void *b)
{
time_t aa = (*((HTNewsNode **)a))->date;
time_t bb = (*((HTNewsNode **)b))->date;
return bb-aa;
}
-PRIVATE int NDirGroupSort (const void *a, const void *b)
+PRIVATE int CDECL NDirGroupSort (const void *a, const void *b)
{
char *aa = (*((HTNewsNode **)a))->name;
char *bb = (*((HTNewsNode **)b))->name;
@@ -755,7 +755,7 @@
}
/* Added by MP. */
-PRIVATE int NDirRefThreadSort (const void* a, const void* b)
+PRIVATE int CDECL NDirRefThreadSort (const void* a, const void* b)
{
HTNewsNode* aa = *((HTNewsNode**)a);
HTNewsNode* bb = *((HTNewsNode**)b);
diff -ruN e:\TeXLive\Build\source.development\TeX\libs\libwww/HTNet.c libwww/HTNet.c
--- e:\TeXLive\Build\source.development\TeX\libs\libwww/HTNet.c Tue Jul 04 17:26:26 2000
+++ libwww/HTNet.c Sun Aug 04 23:30:10 2002
@@ -81,12 +81,12 @@
/* GENERIC BEFORE and AFTER filter Management */
/* ------------------------------------------------------------------------- */
-PRIVATE int HTBeforeOrder (const void * a, const void * b)
+PRIVATE int CDECL HTBeforeOrder (const void * a, const void * b)
{
return ((BeforeFilter *) b)->order - ((BeforeFilter *) a)->order;
}
-PRIVATE int HTAfterOrder (const void * a, const void * b)
+PRIVATE int CDECL HTAfterOrder (const void * a, const void * b)
{
return ((AfterFilter *) b)->order - ((AfterFilter *) a)->order;
}
diff -ruN e:\TeXLive\Build\source.development\TeX\libs\libwww/HTString.c libwww/HTString.c
--- e:\TeXLive\Build\source.development\TeX\libs\libwww/HTString.c Fri Sep 10 02:44:32 1999
+++ libwww/HTString.c Sun Aug 04 23:32:27 2002
@@ -140,7 +140,7 @@
return *dest;
}
-PUBLIC char * StrAllocMCopy (char ** dest, ...)
+PUBLIC char * CDECL StrAllocMCopy (char ** dest, ...)
{
va_list pArgs;
char * p, * argp;
@@ -171,7 +171,7 @@
return *dest;
}
-PUBLIC char * StrAllocMCat (char ** dest, ...)
+PUBLIC char * CDECL StrAllocMCat (char ** dest, ...)
{
va_list pArgs;
char * p, * argp;
diff -ruN e:\TeXLive\Build\source.development\TeX\libs\libwww/HTString.h libwww/HTString.h
--- e:\TeXLive\Build\source.development\TeX\libs\libwww/HTString.h Wed Dec 20 11:00:08 2000
+++ libwww/HTString.h Sun Aug 04 23:57:09 2002
@@ -55,8 +55,8 @@
a real dynamic sprintf().
*/
-extern char * StrAllocMCopy (char ** dest, ...);
-extern char * StrAllocMCat (char ** dest, ...);
+extern char * CDECL StrAllocMCopy (char ** dest, ...);
+extern char * CDECL StrAllocMCat (char ** dest, ...);
/*
diff -ruN e:\TeXLive\Build\source.development\TeX\libs\libwww/HTTee.c libwww/HTTee.c
--- e:\TeXLive\Build\source.development\TeX\libs\libwww/HTTee.c Mon Feb 22 22:10:13 1999
+++ libwww/HTTee.c Wed Feb 13 09:13:17 2002
@@ -32,7 +32,7 @@
/*
** Algorithm produced by H&kon
*/
-PRIVATE int default_resolver (const void *a, const void *b)
+PRIVATE int CDECL default_resolver (const void *a, const void *b)
{
if (*(int *) a < 0)
return *(int *) a;
diff -ruN e:\TeXLive\Build\source.development\TeX\libs\libwww/HTUtils.h libwww/HTUtils.h
--- e:\TeXLive\Build\source.development\TeX\libs\libwww/HTUtils.h Wed Jun 12 11:31:22 2002
+++ libwww/HTUtils.h Tue Oct 29 17:33:01 2002
@@ -250,7 +250,9 @@
libwww style guide.
*/
-#define PUBLIC /* Accessible outside this module */
+#ifndef PUBLIC
+# define PUBLIC /* Accessible outside this module */
+#endif
#define PRIVATE static /* Accessible only within this module */
/*
diff -ruN e:\TeXLive\Build\source.development\TeX\libs\libwww/wwwsys.h libwww/wwwsys.h
--- e:\TeXLive\Build\source.development\TeX\libs\libwww/wwwsys.h Wed Jun 12 11:31:21 2002
+++ libwww/wwwsys.h Fri Nov 15 16:36:07 2002
@@ -161,8 +161,20 @@
#include <process.h>
#include <winsock.h>
+#define getcwd _getcwd
+#define stat _stat
+#define access _access
+#define mkdir _mkdir
+#define daylight _daylight
+#define timezone _timezone
+#define S_IFMT _S_IFMT
+#define S_IFDIR _S_IFDIR
+
#include "windows/config.h"
+#undef CDECL
+#define CDECL __cdecl
+
#define NETREAD(s,b,l) recv((s),(b),(l),0)
#define NETWRITE(s,b,l) send((s),(b),(l),0)
#define NETCLOSE(s) closesocket(s)
@@ -1568,6 +1580,10 @@
*/
typedef unsigned long ms_t;
+
+#ifndef CDECL
+#define CDECL
+#endif
/*
*/