cURL / Mailing Lists / curl-library / Single Mail

curl-library

CURL minor Win32 fixes

From: matthew b <mb7oo_at_hotmail.com>
Date: Fri, 03 Jan 2003 04:55:18 +0000

Hello again...

I've been using libcurl for a bit longer. Drove myself nuts for a while with
some trivial errors in my code, but now everything seems to be stable, I'm
happy. While debugging I ran into a few problems.

1. On Windows, the debug dll doesn't have symbols. A simple change to the
makefile will write out a symbol file. The lflagssl line was also missing in
one place. Diff below.

This will change two things: the DLL gets slightly larger (add /opt:ref
/opt:noicf to the link command line to turn the 'throw away useless stuff'
options back on) and a PDB file gets generated with all the symbolic
information a debugger needs.

2. When verbose mode is on, reconnects caused a crash (dereferencing a null
pointer). This looks fixed in 7.10.3-pre3.

3. On Windows, you can't pass a FILE * across DLL boundaries as noted
elsewhere. Unfortunately, this seems to be the ony way you can change
CURLOPT_STDERR. Is there another way? If not, a new new option passing a
filenames (then open the file "a+") would be cool, or better make sure
everything goes through CURLOPT_DEBUGFUNCTION (not quite everything does).

4. On Windows, main.c 7.10pre3 won't build because of some missing unix APIs
in create_dir_hierarchy. I 'fixed' the build with some win32 code but
haven't tested it; if you're interested let me know (and what I should do to
test it.). I haven't tested the new build at all yet.

5. The base64 decoding fix has some tabs in it from my stupid editor; I
don't know if you want to fix the inconsistency on lines 64-65.

And one more question: if I want to use a newer version of libcurl on the
Mac than what's already there, can I link it statically? I don't want to
install a dynamic library in the shared directories. Setting the dylib path
to '.' would work fine too. I don't know enough unix/mac library magic to
make this work.

--Matthew Blain

Diff for lib\Makefile.vc6:
--- Makefile.vc6.bak Mon Jul 29 23:11:00 2002
+++ Makefile.vc6 Thu Jan 2 20:00:33 2003
@@ -116,7 +116,7 @@
!IF "$(CFG)" == "debug-dll"
TARGET =$(LIB_NAME_DEBUG).dll
DIROBJ =.\$(CFG)
-LNK = $(LNKDLL) /out:$(TARGET) /IMPLIB:"$(LIB_NAME_DEBUG).lib"
+LNK = $(LNKDLL) /DEBUG /out:$(TARGET) /IMPLIB:"$(LIB_NAME_DEBUG).lib"
/PDB:"$(LIB_NAME_DEBUG).pdb"
CC = $(CCDEBUG)
CFGSET = TRUE
!ENDIF
@@ -139,7 +139,8 @@
!IF "$(CFG)" == "debug-ssl-dll"
TARGET =$(LIB_NAME_DEBUG).dll
DIROBJ =.\$(CFG)
-LNK = $(LNKDLL) $(LFLAGSSSL) /out:$(TARGET)
/IMPLIB:"$(LIB_NAME_DEBUG).lib"
+LFLAGSSSL = /LIBPATH:$(OPENSSL_PATH)/out32dll
+LNK = $(LNKDLL) $(LFLAGSSSL) /DEBUG /out:$(TARGET)
/IMPLIB:"$(LIB_NAME_DEBUG).lib" /PDB:"$(LIB_NAME_DEBUG).pdb"
LINKLIBS = $(LINKLIBS) $(SSLLIBS)
CC = $(CCDEBUG) $(CFLAGSSSL)
CFGSET = TRUE

_________________________________________________________________
Protect your PC - get McAfee.com VirusScan Online
http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963

-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
Received on 2003-01-05