Compare commits

...

38 Commits

Author SHA1 Message Date
Daniel Stenberg
259ac2dd77 7.8 commit 2001-06-07 09:39:29 +00:00
Daniel Stenberg
4ebf001d37 SM's suggested update of the Microsoft and SSL compiling section 2001-06-07 06:21:27 +00:00
Daniel Stenberg
5e326014cd SDavila posted a fix that sets conn->bits.use_range properly when doing
resumed downloads
2001-06-07 05:59:20 +00:00
Daniel Stenberg
0b0bbffa35 Jrn corrected the mingw32 makefile 2001-06-07 05:41:30 +00:00
Daniel Stenberg
2b35432fcc S. Moonesamy updates, strtok.[ch] issues 2001-06-06 14:26:50 +00:00
Daniel Stenberg
ef8a2bc4fc Added note about src/hughelp.c and the new *.cvs file that can be used if
you really can't generate that file.
2001-06-06 09:39:07 +00:00
Daniel Stenberg
96d235d9a3 For people using CVS but with no perl, like all those windows losers. They
can just rename this file and cut off the extension instead...
2001-06-06 09:37:15 +00:00
Daniel Stenberg
eaf51b62b9 corrected the CVS note about not creating a subdirectory... which it does now 2001-06-06 09:33:46 +00:00
Daniel Stenberg
80994a123e MUTE is gone, PHP examples, new CVS structure 2001-06-05 11:48:30 +00:00
Daniel Stenberg
b1cd033c27 made the test-program in the bottom compile/build, remember to link with
strequal.o as well!
2001-06-05 11:27:40 +00:00
Sterling Hughes
268867311e Add documentation for the --vernum attribute 2001-06-01 21:56:58 +00:00
Daniel Stenberg
6840f80d21 CURLOPT_CONNECTTIMEOUT works on win32 these days, S. Moonesamy pointed out 2001-06-01 07:33:38 +00:00
Sterling Hughes
cac6876734 Update the cvs instructions. 2001-06-01 04:46:15 +00:00
Sterling Hughes
753011c8db Test (and revert change from previous test). 2001-06-01 00:02:44 +00:00
Sterling Hughes
2774dc390a testing... testing... 1, 2, 3 2001-05-31 23:56:28 +00:00
Daniel Stenberg
eb4534f735 removed CURLOPT_MUTE, it is not used anymore 2001-05-31 13:55:13 +00:00
Daniel Stenberg
efb957039d MUTE is now considered obsolete 2001-05-31 13:52:59 +00:00
Daniel Stenberg
fe82ddda46 CURLOPT_MUTE and data->bits.mute are history, removed, gone! 2001-05-31 13:50:28 +00:00
Daniel Stenberg
94af496ac4 the global init stuff, strtok.h mess, _REENTRANT fixed 2001-05-31 13:32:55 +00:00
Sterling Hughes
6f17c2f140 add entry for getbinarypageinvar.php 2001-05-31 12:33:38 +00:00
Sterling Hughes
490c00fb30 Change to // comments and add <?php and ?> wrappers 2001-05-31 12:32:04 +00:00
Sterling Hughes
2d0dbd87c3 Update comments and wrap in <?php and ?> 2001-05-31 12:25:49 +00:00
Sterling Hughes
13a5e16f35 update the comment style from '#' to '//' which is the "un-official"
standard PHP comment.  Also wrap the code in <?php and ?> and finally
add getbinarypageinvar.php to Makefile.am and README
2001-05-31 12:14:12 +00:00
Sterling Hughes
3d54ba1b9e Add the getbinarypageinvar.php, which shows how to use the
CURLOPT_BINARYTRANSFER, added in PHP 4.0.6 along with the
CURLOPT_RETURNTRANSFER option.
2001-05-31 11:59:39 +00:00
Sterling Hughes
e051f904f2 Test and substance patch.
This is my first CVS commit :), what it does:

- Makes sure that parts of the cURL library don't get initialized twice
- Makes sure that we only free what we initialize
2001-05-31 11:30:34 +00:00
Daniel Stenberg
f8d94a3849 Added CVS $Id$ keyword for inline version tracking 2001-05-31 08:41:42 +00:00
Daniel Stenberg
ac691cae88 updated to again set the flags of what to init, and now also feature a
set of available flags
2001-05-31 08:35:26 +00:00
Daniel Stenberg
43d0d75688 fixed the dlopen check 2001-05-31 08:24:50 +00:00
Daniel Stenberg
77f34915ce removed _REENTRANT define 2001-05-31 07:03:04 +00:00
Daniel Stenberg
72b8993164 re-generated 2001-05-31 07:02:31 +00:00
Daniel Stenberg
6b9bd96c06 include setup.h _before_ system includes 2001-05-31 07:02:13 +00:00
Daniel Stenberg
6532f737eb if NEED_REENTRANT is set, define _REENTRANT already here since it has to
be defined as many include files as possible (Solaris req)
2001-05-31 07:01:08 +00:00
Daniel Stenberg
928ff54388 includes setup.h, and thus I could remove the _REENTRANT define 2001-05-31 07:00:21 +00:00
Daniel Stenberg
95c94bf658 the CURL_GLOBAL flags are now used to set what parts to init globally 2001-05-31 06:10:25 +00:00
Daniel Stenberg
7f295939d0 went back to the version where the flags argument to curl_global_init()
specify exactly what global parts to init. Thanks to Sterling Hughes really
for arguing wisely.
2001-05-31 06:06:37 +00:00
Daniel Stenberg
aa27db6986 removed the prototype and made it include string.h instead
If your system, such as Solaris 2.7, lacks the strtok_r() prototype in
   string.h, then you'll face a bunch of warnings on all instances
   where strtok_r() is used.

   There's not much we can do about it. Adding a prototype here screws
   everything up on other platforms! :-(
2001-05-31 06:05:32 +00:00
Daniel Stenberg
4ce5fa3ea9 Sterling Hughes suggested we set 'static' before size_t... 2001-05-31 05:55:42 +00:00
Daniel Stenberg
ffa7c13117 libcurl now has MUTE and NOPROGRESS set by default 2001-05-30 12:51:24 +00:00
50 changed files with 2341 additions and 183 deletions

39
CHANGES
View File

@@ -6,6 +6,45 @@
History of Changes
Version 7.8
Daniel (7 June 2001)
- SDavila provided a resumed download fix.
Version 7.8-pre4
Daniel (1 June 2001)
- Sterling provided some new PHP examples.
- Changed the CVS hierarchy and the older checkout instruction does no longer
work. We moved the entire source code into a CVS module named 'curl'.
Daniel (31 May 2001)
- CURLOPT_MUTE does not exist anymore. It is still present in the include file
to not cause compiler errors for applications using it, but it isn't used
anywhere in the library.
Version 7.8-pre3
Daniel (31 May 2001)
- Once and for all fixed the _REENTRANT mess for Solaris compiles to present
less warnings.
- Sterling Hughes tirelessly points out and corrects my mistakes...! So,
curl_global_init() now lets the argument flags *SET* what parts to
init. CURL_GLOBAL_DEFAULT makes a nice default, CURL_GLOBAL_ALL inits all
known subsystems and CURL_GLOBAL_NONE inits nothing more than absolutely
necessary. Man page updated accordingly.
- Fixed the strtok.h include file as it wouldn't compile on all platforms!
Daniel (30 May 2001)
- Made libcurl by default act as if CURLOPT_MUTE and CURLOPT_NOPROGRESS were
set TRUE. Set them to FALSE to make libcurl more talkative. The *_MUTE
option is subject for complete removal...
Version 7.8-pre2
Daniel (30 May 2001)
- Cris Bailiff wrote a makefile for building Solaris packages.

View File

@@ -13,6 +13,9 @@ inner sanctum.
Use autoconf 2.50 and no earlier. Also, try having automake 1.4 and libtool
1.4 at least.
You will need perl to generate the src/hugehelp.c file. The file
src/hugehelp.c.cvs is a one-shot file that you can rename to src/hugehelp.c if
you really can't generate the true file yourself!
CHANGES.0 contains ancient changes.
@@ -25,7 +28,7 @@ Use autoconf 2.50 and no earlier. Also, try having automake 1.4 and libtool
perl/contrib/ is a subdirectory with various perl scripts
java is a subdirectory with the Java interface to libcurl
java/ is a subdirectory with the Java interface to libcurl
To build after having extracted everything from CVS, do this:

14
README
View File

@@ -30,19 +30,17 @@ README
To download the very latest source off the CVS server do this:
cvs -d :pserver:anonymous@cvs.curl.sourceforge.net:/cvsroot/curl login
cvs -d :pserver:anonymous@cvs.curl.sourceforge.net:/cvsroot/curl login
(just press enter when asked for password)
(just press enter when asked for password)
cvs -d :pserver:anonymous@cvs.curl.sourceforge.net:/cvsroot/curl co .
cvs -d :pserver:anonymous@cvs.curl.sourceforge.net:/cvsroot/curl co curl
(now, you'll get all the latest sources downloaded into your current
directory. Note that this does NOT create a directory named curl or
anything)
(you'll get a directory named curl created, filled with the source code)
cvs -d :pserver:anonymous@cvs.curl.sourceforge.net:/cvsroot/curl logout
cvs -d :pserver:anonymous@cvs.curl.sourceforge.net:/cvsroot/curl logout
(you're off the hook!)
(you're off the hook!)
Curl contains pieces of source code that is Copyright (c) 1998, 1999
Kungliga Tekniska H<>gskolan. This notice is included here to comply with the

View File

@@ -418,7 +418,7 @@ dnl ucb lib?
AC_CHECK_FUNC(gethostname, , AC_CHECK_LIB(ucb, gethostname))
dnl dl lib?
AC_CHECK_FUNC(dlopen, , AC_CHECK_LIB(dl, dlopen))
AC_CHECK_FUNC(dlclose, , AC_CHECK_LIB(dl, dlopen))
dnl **********************************************************************
dnl Check for the random seed preferences
@@ -799,7 +799,8 @@ AC_CHECK_FUNCS( socket \
getpass_r \
strlcat \
getpwuid \
geteuid
geteuid \
dlopen
)
dnl removed 'getpass' check on October 26, 2000

View File

@@ -22,6 +22,7 @@ Available values for OPTION include:
--libs library linking information
--prefix curl install prefix
--version output version information
--vernum output the version information as a number (hexadecimal)
EOF
exit $1

View File

@@ -206,8 +206,14 @@ Win32
Microsoft command line style
----------------------------
Please read the OpenSSL documentation on how to compile and install
the OpenSSL library. This generates the libeay32.dll and ssleay32.dll
files.
Run the 'vcvars32.bat' file to get the proper environment variables
set, then run 'nmake vc-ssl' in the root dir.
set. Edit the makefile.vc6 in the lib directory and define
OPENSSL_PATH. Set the location of the OpenSSL library and run 'nmake
vc-ssl' in the root directory.
The vcvars32.bat file is part of the Microsoft development
environment.

View File

@@ -1,6 +1,6 @@
.\" You can view this file with:
.\" nroff -man [file]
.\" Written by daniel@haxx.se
.\" $Id$
.\"
.TH curl_easy_cleanup 3 "5 March 2001" "libcurl 7.7" "libcurl Manual"
.SH NAME

View File

@@ -1,6 +1,6 @@
.\" You can view this file with:
.\" nroff -man [file]
.\" Written by daniel@haxx.se
.\" $Id$
.\"
.TH curl_easy_init 3 "5 March 2001" "libcurl 7.6.1" "libcurl Manual"
.SH NAME

View File

@@ -1,6 +1,6 @@
.\" You can view this file with:
.\" nroff -man [file]
.\" Written by daniel@haxx.se
.\" $Id$
.\"
.TH curl_easy_init 3 "5 March 2001" "libcurl 7.7" "libcurl Manual"
.SH NAME

View File

@@ -1,6 +1,6 @@
.\" You can view this file with:
.\" nroff -man [file]
.\" Written by daniel@haxx.se
.\" $Id$
.\"
.TH curl_easy_perform 3 "5 Mar 2001" "libcurl 7.7" "libcurl Manual"
.SH NAME

View File

@@ -1,8 +1,8 @@
.\" You can view this file with:
.\" nroff -man [file]
.\" Written by daniel@haxx.se
.\" $Id$
.\"
.TH curl_easy_setopt 3 "29 May 2001" "libcurl 7.8" "libcurl Manual"
.TH curl_easy_setopt 3 "1 June 2001" "libcurl 7.8" "libcurl Manual"
.SH NAME
curl_easy_setopt - Set curl easy-session options
.SH SYNOPSIS
@@ -178,12 +178,6 @@ similar.
A non-zero parameter tells the library to use HTTP PUT a file. The file to put
must be set with CURLOPT_INFILE and CURLOPT_INFILESIZE.
.TP
.B CURLOPT_MUTE
A non-zero parameter tells the library to be completely quiet. This only
affects error messages that occurs when there's no CURLOPT_ERRORBUFFER
specified. If an error messaged is specifed, this option won't make any
difference.
.TP
.B CURLOPT_USERPWD
Pass a char * as parameter, which should be [username]:[password] to use for
the connection. If the password is left out, you will be prompted for it.
@@ -501,7 +495,7 @@ Pass a long. It should contain the maximum time in seconds that you allow the
connection to the server to take. This only limits the connection phase, once
it has connected, this option is of no more use. Set to zero to disable
connection timeout (it will then only timeout on the system's internal
timeouts). This option doesn't work in win32 systems. See also the
timeouts). See also the
.I CURLOPT_TIMEOUT
option.
.PP

View File

@@ -1,6 +1,6 @@
.\" You can view this file with:
.\" nroff -man [file]
.\" Written by daniel@haxx.se
.\" $Id$
.\"
.TH curl_escape 3 "22 March 2001" "libcurl 7.7" "libcurl Manual"
.SH NAME

View File

@@ -1,6 +1,6 @@
.\" You can view this file with:
.\" nroff -man [file]
.\" Written by daniel@haxx.se
.\" $Id$
.\"
.TH curl_formfree 3 "6 April 2001" "libcurl 7.7.1" "libcurl Manual"
.SH NAME

View File

@@ -1,6 +1,6 @@
.\" You can view this file with:
.\" nroff -man [file]
.\" Written by daniel@haxx.se
.\" $Id$
.\"
.TH curl_formparse 3 "21 May 2001" "libcurl 7.7.4" "libcurl Manual"
.SH NAME

View File

@@ -1,6 +1,6 @@
.\" You can view this file with:
.\" nroff -man [file]
.\" Written by daniel@haxx.se
.\" $Id$
.\"
.TH curl_getdate 3 "5 March 2001" "libcurl 7.0" "libcurl Manual"
.SH NAME

View File

@@ -1,6 +1,6 @@
.\" You can view this file with:
.\" nroff -man [file]
.\" Written by daniel@haxx.se
.\" $Id$
.\"
.TH curl_getenv 3 "5 March 2001" "libcurl 7.0" "libcurl Manual"
.SH NAME

View File

@@ -1,6 +1,6 @@
.\" You can view this file with:
.\" nroff -man [file]
.\" Written by daniel@haxx.se
.\" $Id$
.\"
.TH curl_global_cleanup 3 "28 May 2001" "libcurl 7.8" "libcurl Manual"
.SH NAME

View File

@@ -1,8 +1,8 @@
.\" You can view this file with:
.\" nroff -man [file]
.\" Written by daniel@haxx.se
.\" $Id$
.\"
.TH curl_global_init 3 "29 May 2001" "libcurl 7.8" "libcurl Manual"
.TH curl_global_init 3 "31 May 2001" "libcurl 7.8" "libcurl Manual"
.SH NAME
curl_global_init - Global libcurl initialisation
.SH SYNOPSIS
@@ -17,13 +17,23 @@ sessions that'll be used) by every application that uses libcurl.
If this function hasn't been invoked when \fIcurl_easy_init\fP is called, it
will be done automatically by libcurl.
The flags option should be set to zero. It will be used to tell libcurl what
specific features it should \fBnot\fP init.
The flags option is a bit pattern that tells libcurl exact what features to
init, as described below. Set the desired bits by ORing the values together.
You must however \fBalways\fP use the \fIcurl_global_cleanup\fP function, as
that cannot be called automatically for you by libcurl.
This function was added in libcurl 7.8.
.SH FLAGS
.TP 5
.B CURL_GLOBAL_ALL
Initialise everyting possible. This sets all known bits.
.TP
.B CURL_GLOBAL_SSL
Initialise SSL
.TP
.B CURL_GLOBAL_NOTHING
Initialise nothing extra. This sets no bit.
.SH RETURN VALUE
If this function returns non-zero, something went wrong and you cannot use the
other curl functions.

View File

@@ -1,6 +1,6 @@
.\" You can view this file with:
.\" nroff -man [file]
.\" Written by daniel@haxx.se
.\" $Id$
.\"
.TH curl_printf 3 "20 April 2001" "libcurl 7.7.2" "libcurl Manual"
.SH NAME

View File

@@ -1,6 +1,6 @@
.\" You can view this file with:
.\" nroff -man [file]
.\" Written by daniel@haxx.se
.\" $Id$
.\"
.TH curl_slist_append 3 "5 March 2001" "libcurl 7.0" "libcurl Manual"
.SH NAME

View File

@@ -1,6 +1,6 @@
.\" You can view this file with:
.\" nroff -man [file]
.\" Written by daniel@haxx.se
.\" $Id$
.\"
.TH curl_slist_free_all 3 "5 March 2001" "libcurl 7.0" "libcurl Manual"
.SH NAME

View File

@@ -1,6 +1,6 @@
.\" You can view this file with:
.\" nroff -man [file]
.\" Written by daniel@haxx.se
.\" $Id$
.\"
.TH curl_strequal 3 "20 April 2001" "libcurl 7.7.2" "libcurl Manual"
.SH NAME

View File

@@ -1,6 +1,6 @@
.\" You can view this file with:
.\" nroff -man [file]
.\" Written by daniel@haxx.se
.\" $Id$
.\"
.TH curl_unescape 3 "22 March 2001" "libcurl 7.7" "libcurl Manual"
.SH NAME

View File

@@ -1,6 +1,6 @@
.\" You can view this file with:
.\" nroff -man [file]
.\" Written by daniel@haxx.se
.\" $Id$
.\"
.TH curl_version 3 "5 March 2001" "libcurl 7.0" "libcurl Manual"
.SH NAME

View File

@@ -1,6 +1,6 @@
.\" You can view this file with:
.\" nroff -man [file]
.\" Written by Daniel Stenberg
.\" $Id$
.\"
.TH libcurl 5 "28 May 2001" "libcurl 7.8" "libcurl overview"
.SH NAME

View File

@@ -351,7 +351,8 @@ typedef enum {
CINIT(TRANSFERTEXT, LONG, 53), /* transfer data in text/ASCII format */
CINIT(PUT, LONG, 54), /* PUT the input file */
CINIT(MUTE, LONG, 55), /* force NOPROGRESS */
CINIT(MUTE, LONG, 55), /* OBSOLETE OPTION, removed in 7.8 */
/* Function that will be called instead of the internal progress display
* function. This function should be defined as the curl_progress_callback
@@ -503,7 +504,7 @@ void curl_global_cleanup(void);
/* This is the version number */
#define LIBCURL_VERSION "7.8-pre2"
#define LIBCURL_VERSION "7.8"
#define LIBCURL_VERSION_NUM 0x070800
/* linked-list structure for the CURLOPT_QUOTE option (and other) */
@@ -573,9 +574,10 @@ typedef enum {
CURLCLOSEPOLICY_LAST /* last, never use this */
} curl_closepolicy;
#define CURL_GLOBAL_NOT_SSL (1<<0)
#define CURL_GLOBAL_NOTHING CURL_GLOBAL_NOT_SSL
#define CURL_GLOBAL_DEFAULT 0
#define CURL_GLOBAL_SSL (1<<0)
#define CURL_GLOBAL_ALL (CURL_GLOBAL_SSL)
#define CURL_GLOBAL_NOTHING 0
#define CURL_GLOBAL_DEFAULT CURL_GLOBAL_ALL
#ifdef __cplusplus
}

View File

@@ -33,13 +33,15 @@ libcurl_a_SOURCES = arpa_telnet.h file.c getpass.h netrc.h timeval.c base64.c \
urldata.h transfer.c getdate.h ldap.c ssluse.c version.c transfer.h getenv.c \
ldap.h ssluse.h escape.c getenv.h mprintf.c telnet.c escape.h getpass.c netrc.c \
telnet.h getinfo.c strequal.c strequal.h easy.c security.h \
security.c krb4.h krb4.c memdebug.h memdebug.c inet_ntoa_r.h http_chunks.h http_chunks.c
security.c krb4.h krb4.c memdebug.h memdebug.c inet_ntoa_r.h http_chunks.h http_chunks.c \
strtok.c
libcurl_a_OBJECTS = file.o timeval.o base64.o hostip.o progress.o \
formdata.o cookie.o http.o sendf.o ftp.o url.o dict.o if2ip.o \
speedcheck.o getdate.o transfer.o ldap.o ssluse.o version.o \
getenv.o escape.o mprintf.o telnet.o getpass.o netrc.o getinfo.o \
strequal.o easy.o security.o krb4.o memdebug.o http_chunks.o
strequal.o easy.o security.o krb4.o memdebug.o http_chunks.o \
strtok.o
LIBRARIES = $(libcurl_a_LIBRARIES)
SOURCES = $(libcurl_a_SOURCES)

View File

@@ -60,7 +60,8 @@ RELEASE_OBJS= \
getinfor.obj \
versionr.obj \
easyr.obj \
strequalr.obj
strequalr.obj \
strtokr.obj
DEBUG_OBJS= \
base64d.obj \
@@ -91,7 +92,8 @@ DEBUG_OBJS= \
getinfod.obj \
versiond.obj \
easyd.obj \
strequald.obj
strequald.obj \
strtokd.obj
RELEASE_SSL_OBJS= \
base64rs.obj \
@@ -122,7 +124,8 @@ RELEASE_SSL_OBJS= \
getinfors.obj \
versionrs.obj \
easyrs.obj \
strequalrs.obj
strequalrs.obj \
strtokd.obj
LINK_OBJS= \
base64.obj \
@@ -153,7 +156,8 @@ LINK_OBJS= \
getinfo.obj \
version.obj \
easy.obj \
strequal.obj
strequal.obj \
strtok.obj
all : release
@@ -225,6 +229,8 @@ easyr.obj: easy.c
$(CCR) $(CFLAGS) easy.c
strequalr.obj: strequal.c
$(CCR) $(CFLAGS) strequal.c
strtokr.obj:strtok.c
$(CCR) $(CFLAGS) strtok.c
## Debug
base64d.obj: base64.c
@@ -285,7 +291,8 @@ easyd.obj: easy.c
$(CCD) $(CFLAGS) easy.c
strequald.obj: strequal.c
$(CCD) $(CFLAGS) strequal.c
strtokd.obj:strtok.c
$(CCR) $(CFLAGS) strtok.c
## Release SSL
base64rs.obj: base64.c
@@ -346,6 +353,8 @@ easyrs.obj: easy.c
$(CCRS) $(CFLAGS) easy.c
strequalrs.obj: strequal.c
$(CCRS) $(CFLAGS) strequal.c
strtokrs.obj:strtok.c
$(CCR) $(CFLAGS) strtok.c
clean:

View File

@@ -209,6 +209,10 @@ SOURCE=.\strequal.c
# End Source File
# Begin Source File
SOURCE=.\strtok.c
# End Source File
# Begin Source File
SOURCE=.\telnet.c
# End Source File
# Begin Source File
@@ -341,6 +345,10 @@ SOURCE=.\strequal.h
# End Source File
# Begin Source File
SOURCE=.\strtok.h
# End Source File
# Begin Source File
SOURCE=.\telnet.h
# End Source File
# Begin Source File

View File

@@ -78,17 +78,27 @@
#define _MPRINTF_REPLACE /* use our functions only */
#include <curl/mprintf.h>
/* true globals */
static unsigned int initialized = 0;
static long init_flags = 0;
CURLcode curl_global_init(long flags)
{
if(!(flags & CURL_GLOBAL_NOT_SSL))
if(flags & CURL_GLOBAL_SSL)
Curl_SSL_init();
initialized = 1;
init_flags = flags;
return CURLE_OK;
}
void curl_global_cleanup(void)
{
Curl_SSL_cleanup();
if (init_flags & CURL_GLOBAL_SSL)
Curl_SSL_cleanup();
initialized = 0;
}
CURL *curl_easy_init(void)
@@ -97,7 +107,8 @@ CURL *curl_easy_init(void)
struct UrlData *data;
/* Make sure we inited the global SSL stuff */
Curl_SSL_init();
if (!initialized)
curl_global_init(CURL_GLOBAL_DEFAULT);
/* We use curl_open() with undefined URL so far */
res = Curl_open((CURL **)&data, NULL);

View File

@@ -634,11 +634,16 @@ int main(int argc, char **argv)
form=Curl_getFormData(httppost, &size);
FormInit(&formread, form);
Curl_FormInit(&formread, form);
while(nread = FormReader(buffer, 1, sizeof(buffer), (FILE *)&formread)) {
do {
nread = Curl_FormReader(buffer, 1, sizeof(buffer),
(FILE *)&formread);
if(-1 == nread)
break;
fwrite(buffer, nread, 1, stderr);
}
} while(1);
fprintf(stderr, "size: %d\n", size);

View File

@@ -32,18 +32,14 @@
** This code is in the public domain and has no copyright.
*/
#include "setup.h"
#ifdef HAVE_CONFIG_H
# include "config.h"
# ifdef HAVE_ALLOCA_H
# include <alloca.h>
# endif
# ifdef NEED_REENTRANT
# define _REENTRANT /* Necessary to use in Solaris, since the silly guys at
Sun made the localtime_r() prototype dependent on it
(or _POSIX_C_SOURCE or _POSIX_PTHREAD_SEMANTICS) */
# endif
# ifdef HAVE_TIME_H
# include <time.h>
# endif
@@ -227,7 +223,7 @@ static int yyRelSeconds;
static int yyRelYear;
#line 210 "getdate.y"
#line 206 "getdate.y"
typedef union {
int Number;
enum _MERIDIAN Meridian;
@@ -310,11 +306,11 @@ static const short yyrhs[] = { -1,
#if YYDEBUG != 0
static const short yyrline[] = { 0,
226, 227, 230, 233, 236, 239, 242, 245, 248, 254,
260, 269, 275, 287, 290, 293, 299, 303, 307, 313,
317, 335, 341, 347, 351, 356, 360, 367, 375, 378,
381, 384, 387, 390, 393, 396, 399, 402, 405, 408,
411, 414, 417, 420, 423, 426, 429, 434, 467, 471
222, 223, 226, 229, 232, 235, 238, 241, 244, 250,
256, 265, 271, 283, 286, 289, 295, 299, 303, 309,
313, 331, 337, 343, 347, 352, 356, 363, 371, 374,
377, 380, 383, 386, 389, 392, 395, 398, 401, 404,
407, 410, 413, 416, 419, 422, 425, 430, 463, 467
};
#endif
@@ -395,7 +391,7 @@ static const short yycheck[] = { 0,
56
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line 3 "/usr/lib/bison.simple"
#line 3 "/usr/local/share/bison.simple"
/* This file comes from bison-1.28. */
/* Skeleton output parser for bison,
@@ -609,7 +605,7 @@ __yy_memcpy (char *to, char *from, unsigned int count)
#endif
#endif
#line 217 "/usr/lib/bison.simple"
#line 217 "/usr/local/share/bison.simple"
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *.
@@ -938,37 +934,37 @@ yyreduce:
switch (yyn) {
case 3:
#line 230 "getdate.y"
#line 226 "getdate.y"
{
yyHaveTime++;
;
break;}
case 4:
#line 233 "getdate.y"
#line 229 "getdate.y"
{
yyHaveZone++;
;
break;}
case 5:
#line 236 "getdate.y"
#line 232 "getdate.y"
{
yyHaveDate++;
;
break;}
case 6:
#line 239 "getdate.y"
#line 235 "getdate.y"
{
yyHaveDay++;
;
break;}
case 7:
#line 242 "getdate.y"
#line 238 "getdate.y"
{
yyHaveRel++;
;
break;}
case 9:
#line 248 "getdate.y"
#line 244 "getdate.y"
{
yyHour = yyvsp[-1].Number;
yyMinutes = 0;
@@ -977,7 +973,7 @@ case 9:
;
break;}
case 10:
#line 254 "getdate.y"
#line 250 "getdate.y"
{
yyHour = yyvsp[-3].Number;
yyMinutes = yyvsp[-1].Number;
@@ -986,7 +982,7 @@ case 10:
;
break;}
case 11:
#line 260 "getdate.y"
#line 256 "getdate.y"
{
yyHour = yyvsp[-3].Number;
yyMinutes = yyvsp[-1].Number;
@@ -998,7 +994,7 @@ case 11:
;
break;}
case 12:
#line 269 "getdate.y"
#line 265 "getdate.y"
{
yyHour = yyvsp[-5].Number;
yyMinutes = yyvsp[-3].Number;
@@ -1007,7 +1003,7 @@ case 12:
;
break;}
case 13:
#line 275 "getdate.y"
#line 271 "getdate.y"
{
yyHour = yyvsp[-5].Number;
yyMinutes = yyvsp[-3].Number;
@@ -1020,53 +1016,53 @@ case 13:
;
break;}
case 14:
#line 287 "getdate.y"
#line 283 "getdate.y"
{
yyTimezone = yyvsp[0].Number;
;
break;}
case 15:
#line 290 "getdate.y"
#line 286 "getdate.y"
{
yyTimezone = yyvsp[0].Number - 60;
;
break;}
case 16:
#line 294 "getdate.y"
#line 290 "getdate.y"
{
yyTimezone = yyvsp[-1].Number - 60;
;
break;}
case 17:
#line 299 "getdate.y"
#line 295 "getdate.y"
{
yyDayOrdinal = 1;
yyDayNumber = yyvsp[0].Number;
;
break;}
case 18:
#line 303 "getdate.y"
#line 299 "getdate.y"
{
yyDayOrdinal = 1;
yyDayNumber = yyvsp[-1].Number;
;
break;}
case 19:
#line 307 "getdate.y"
#line 303 "getdate.y"
{
yyDayOrdinal = yyvsp[-1].Number;
yyDayNumber = yyvsp[0].Number;
;
break;}
case 20:
#line 313 "getdate.y"
#line 309 "getdate.y"
{
yyMonth = yyvsp[-2].Number;
yyDay = yyvsp[0].Number;
;
break;}
case 21:
#line 317 "getdate.y"
#line 313 "getdate.y"
{
/* Interpret as YYYY/MM/DD if $1 >= 1000, otherwise as MM/DD/YY.
The goal in recognizing YYYY/MM/DD is solely to support legacy
@@ -1087,7 +1083,7 @@ case 21:
;
break;}
case 22:
#line 335 "getdate.y"
#line 331 "getdate.y"
{
/* ISO 8601 format. yyyy-mm-dd. */
yyYear = yyvsp[-2].Number;
@@ -1096,7 +1092,7 @@ case 22:
;
break;}
case 23:
#line 341 "getdate.y"
#line 337 "getdate.y"
{
/* e.g. 17-JUN-1992. */
yyDay = yyvsp[-2].Number;
@@ -1105,14 +1101,14 @@ case 23:
;
break;}
case 24:
#line 347 "getdate.y"
#line 343 "getdate.y"
{
yyMonth = yyvsp[-1].Number;
yyDay = yyvsp[0].Number;
;
break;}
case 25:
#line 351 "getdate.y"
#line 347 "getdate.y"
{
yyMonth = yyvsp[-3].Number;
yyDay = yyvsp[-2].Number;
@@ -1120,14 +1116,14 @@ case 25:
;
break;}
case 26:
#line 356 "getdate.y"
#line 352 "getdate.y"
{
yyMonth = yyvsp[0].Number;
yyDay = yyvsp[-1].Number;
;
break;}
case 27:
#line 360 "getdate.y"
#line 356 "getdate.y"
{
yyMonth = yyvsp[-1].Number;
yyDay = yyvsp[-2].Number;
@@ -1135,7 +1131,7 @@ case 27:
;
break;}
case 28:
#line 367 "getdate.y"
#line 363 "getdate.y"
{
yyRelSeconds = -yyRelSeconds;
yyRelMinutes = -yyRelMinutes;
@@ -1146,115 +1142,115 @@ case 28:
;
break;}
case 30:
#line 378 "getdate.y"
#line 374 "getdate.y"
{
yyRelYear += yyvsp[-1].Number * yyvsp[0].Number;
;
break;}
case 31:
#line 381 "getdate.y"
#line 377 "getdate.y"
{
yyRelYear += yyvsp[-1].Number * yyvsp[0].Number;
;
break;}
case 32:
#line 384 "getdate.y"
#line 380 "getdate.y"
{
yyRelYear += yyvsp[0].Number;
;
break;}
case 33:
#line 387 "getdate.y"
#line 383 "getdate.y"
{
yyRelMonth += yyvsp[-1].Number * yyvsp[0].Number;
;
break;}
case 34:
#line 390 "getdate.y"
#line 386 "getdate.y"
{
yyRelMonth += yyvsp[-1].Number * yyvsp[0].Number;
;
break;}
case 35:
#line 393 "getdate.y"
#line 389 "getdate.y"
{
yyRelMonth += yyvsp[0].Number;
;
break;}
case 36:
#line 396 "getdate.y"
#line 392 "getdate.y"
{
yyRelDay += yyvsp[-1].Number * yyvsp[0].Number;
;
break;}
case 37:
#line 399 "getdate.y"
#line 395 "getdate.y"
{
yyRelDay += yyvsp[-1].Number * yyvsp[0].Number;
;
break;}
case 38:
#line 402 "getdate.y"
#line 398 "getdate.y"
{
yyRelDay += yyvsp[0].Number;
;
break;}
case 39:
#line 405 "getdate.y"
#line 401 "getdate.y"
{
yyRelHour += yyvsp[-1].Number * yyvsp[0].Number;
;
break;}
case 40:
#line 408 "getdate.y"
#line 404 "getdate.y"
{
yyRelHour += yyvsp[-1].Number * yyvsp[0].Number;
;
break;}
case 41:
#line 411 "getdate.y"
#line 407 "getdate.y"
{
yyRelHour += yyvsp[0].Number;
;
break;}
case 42:
#line 414 "getdate.y"
#line 410 "getdate.y"
{
yyRelMinutes += yyvsp[-1].Number * yyvsp[0].Number;
;
break;}
case 43:
#line 417 "getdate.y"
#line 413 "getdate.y"
{
yyRelMinutes += yyvsp[-1].Number * yyvsp[0].Number;
;
break;}
case 44:
#line 420 "getdate.y"
#line 416 "getdate.y"
{
yyRelMinutes += yyvsp[0].Number;
;
break;}
case 45:
#line 423 "getdate.y"
#line 419 "getdate.y"
{
yyRelSeconds += yyvsp[-1].Number * yyvsp[0].Number;
;
break;}
case 46:
#line 426 "getdate.y"
#line 422 "getdate.y"
{
yyRelSeconds += yyvsp[-1].Number * yyvsp[0].Number;
;
break;}
case 47:
#line 429 "getdate.y"
#line 425 "getdate.y"
{
yyRelSeconds += yyvsp[0].Number;
;
break;}
case 48:
#line 435 "getdate.y"
#line 431 "getdate.y"
{
if (yyHaveTime && yyHaveDate && !yyHaveRel)
yyYear = yyvsp[0].Number;
@@ -1287,20 +1283,20 @@ case 48:
;
break;}
case 49:
#line 468 "getdate.y"
#line 464 "getdate.y"
{
yyval.Meridian = MER24;
;
break;}
case 50:
#line 472 "getdate.y"
#line 468 "getdate.y"
{
yyval.Meridian = yyvsp[0].Meridian;
;
break;}
}
/* the action file gets copied in in place of this dollarsign */
#line 543 "/usr/lib/bison.simple"
#line 543 "/usr/local/share/bison.simple"
yyvsp -= yylen;
yyssp -= yylen;
@@ -1520,7 +1516,7 @@ yyerrhandle:
}
return 1;
}
#line 477 "getdate.y"
#line 473 "getdate.y"
/* Include this file down here because bison inserts code above which

View File

@@ -8,18 +8,14 @@
** This code is in the public domain and has no copyright.
*/
#include "setup.h"
#ifdef HAVE_CONFIG_H
# include "config.h"
# ifdef HAVE_ALLOCA_H
# include <alloca.h>
# endif
# ifdef NEED_REENTRANT
# define _REENTRANT /* Necessary to use in Solaris, since the silly guys at
Sun made the localtime_r() prototype dependent on it
(or _POSIX_C_SOURCE or _POSIX_PTHREAD_SEMANTICS) */
# endif
# ifdef HAVE_TIME_H
# include <time.h>
# endif

View File

@@ -34,13 +34,6 @@
#include <errno.h>
#ifdef NEED_REENTRANT
#define _REENTRANT /* Necessary to use in Solaris, since the silly guys at Sun
made the localtime_r() prototype dependent on it (or
_POSIX_C_SOURCE or _POSIX_PTHREAD_SEMANTICS). */
#endif
#if defined(WIN32) && !defined(__GNUC__) || defined(__MINGW32__)
#include <winsock.h>
#include <time.h>

View File

@@ -34,10 +34,6 @@
#if ! defined(WIN32) && ! defined(__BEOS__) && !defined(__CYGWIN32__)
#ifdef NEED_REENTRANT
#define _REENTRANT
#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif

View File

@@ -82,7 +82,7 @@ struct krb4_data {
#ifndef HAVE_STRLCPY
/* if it ever goes non-static, make it Curl_ prefixed! */
size_t static
static size_t
strlcpy (char *dst, const char *src, size_t dst_sz)
{
size_t n;

View File

@@ -7,26 +7,29 @@ LIBRARY LIBCURL
DESCRIPTION 'curl libcurl - http://curl.haxx.se'
EXPORTS
curl_easy_cleanup @ 1 ;
curl_easy_getinfo @ 2 ;
curl_easy_init @ 3 ;
curl_easy_perform @ 4 ;
curl_easy_setopt @ 5 ;
curl_escape @ 6 ;
curl_formparse @ 7 ;
curl_formfree @ 8 ;
curl_getdate @ 9 ;
curl_getenv @ 10 ;
curl_slist_append @ 11 ;
curl_slist_free_all @ 12 ;
curl_unescape @ 13 ;
curl_version @ 14 ;
curl_maprintf @ 15 ;
curl_mfprintf @ 16 ;
curl_mprintf @ 17 ;
curl_msprintf @ 18 ;
curl_msnprintf @ 19 ;
curl_mvfprintf @ 20 ;
curl_strequal @ 21 ;
curl_strnequal @ 22 ;
curl_easy_cleanup @ 1 ;
curl_easy_getinfo @ 2 ;
curl_easy_init @ 3 ;
curl_easy_perform @ 4 ;
curl_easy_setopt @ 5 ;
curl_escape @ 6 ;
curl_unescape @ 7;
curl_formparse @ 8 ;
curl_formfree @ 9 ;
curl_getdate @ 10 ;
curl_getenv @ 11 ;
curl_global_cleanup @ 12 ;
curl_global_init @ 13 ;
curl_slist_append @ 14 ;
curl_slist_free_all @ 15 ;
curl_unescape @ 16 ;
curl_version @ 17 ;
curl_maprintf @ 18 ;
curl_mfprintf @ 19 ;
curl_mprintf @ 20 ;
curl_msprintf @ 21 ;
curl_msnprintf @ 22 ;
curl_mvfprintf @ 23 ;
curl_strequal @ 24 ;
curl_strnequal @ 25 ;

View File

@@ -142,11 +142,6 @@ void Curl_failf(struct UrlData *data, char *fmt, ...)
va_start(ap, fmt);
if(data->errorbuffer)
vsnprintf(data->errorbuffer, CURL_ERROR_SIZE, fmt, ap);
else if(!data->bits.mute) {
/* no errorbuffer receives this, write to data->err instead */
vfprintf(data->err, fmt, ap);
fprintf(data->err, "\n");
}
va_end(ap);
}

View File

@@ -44,6 +44,14 @@
typedef char bool;
#endif /* (rabe) */
#ifdef NEED_REENTRANT
/* Solaris machines needs _REENTRANT set for a few function prototypes and
things to appear in the #include files. We need to #define it before all
#include files */
#define _REENTRANT
#endif
#include <stdio.h>
#ifndef OS
#ifdef WIN32

View File

@@ -24,14 +24,14 @@
#ifndef _CURL_STRTOK_R_H
#define _CURL_STRTOK_R_H
#include <stddef.h>
#include "setup.h"
#include <stddef.h>
#ifndef HAVE_STRTOK_R
char *Curl_strtok_r(char *s, const char *delim, char **last);
#define strtok_r Curl_strtok_r
#else
extern char *strtok_r(char *s1, const char *s2, char **lasts);
#include <string.h>
#endif
#endif

View File

@@ -231,6 +231,10 @@ CURLcode Curl_open(CURL **curl, char *url)
data->httpreq = HTTPREQ_GET; /* Default HTTP request */
/* make libcurl quiet by default: */
data->bits.hide_progress = TRUE; /* CURLOPT_NOPROGRESS changes these */
data->progress.flags |= PGRS_HIDE;
/* create an array with connection data struct pointers */
data->numconnects = 5; /* hard-coded right now */
data->connects = (struct connectdata **)
@@ -363,6 +367,8 @@ CURLcode Curl_setopt(CURL *curl, CURLoption option, ...)
data->bits.hide_progress = va_arg(param, long)?TRUE:FALSE;
if(data->bits.hide_progress)
data->progress.flags |= PGRS_HIDE;
else
data->progress.flags &= ~PGRS_HIDE;
break;
case CURLOPT_NOBODY:
/*
@@ -432,12 +438,15 @@ CURLcode Curl_setopt(CURL *curl, CURLoption option, ...)
if(data->bits.http_put)
data->httpreq = HTTPREQ_PUT;
break;
#if 0
/* obsolete stuff, kept here a while for informational purposes */
case CURLOPT_MUTE:
/*
* Stay absolutely quiet.
*/
data->bits.mute = va_arg(param, long)?TRUE:FALSE;
break;
#endif
case CURLOPT_TIMECONDITION:
/*
* Set HTTP time condition. This must be one of the defines in the
@@ -2068,6 +2077,7 @@ static CURLcode Connect(struct UrlData *data,
/* tell ourselves to fetch this range */
conn->range = strdup(resumerange);
conn->bits.use_range = TRUE; /* enable range download */
conn->bits.rangestringalloc = TRUE; /* mark range string allocated */
}

View File

@@ -401,7 +401,6 @@ struct Configbits {
bool http_set_referer;
bool http_auto_referer; /* set "correct" referer when following location: */
bool httpproxy;
bool mute;
bool no_body;
bool set_port;
bool set_range;

View File

@@ -1 +1,2 @@
EXTRA_DIST = README getpageinvar.php simpleget.php simplepost.php
EXTRA_DIST = README getpageinvar.php getbinarypageinvar.php simpleget.php \
simplepost.php

View File

@@ -6,6 +6,9 @@
PHP program examples
getbinarypageinvar.php
- Fetch a single URL containing binary data and return it into a variable
getpageinvar.php
- Fetch a single URL and return in a variable

View File

@@ -0,0 +1,25 @@
<?php
// Allocate a new cURL handle
$ch = curl_init("http://www.designmultimedia.com/intro.jpg");
if (! $ch) {
die( "Cannot allocate a new PHP-CURL handle" );
}
// We'll be returning this transfer, and the data is binary
// so we don't want to NULL terminate
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
// Grab the jpg and save the contents in the $data variable
$data = curl_exec($ch);
// close the connection
curl_close($ch);
// Set the header to type image/jpeg, since that's what we're
// displaying
header("Content-type: image/jpeg");
// Output the image
print( $data );
?>

View File

@@ -1,10 +1,12 @@
#
# The PHP curl module supports the received page to be returned in a variable
# if told.
#
<?php
//
// The PHP curl module supports the received page to be returned in a variable
// if told.
//
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://www.myurl.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result=curl_exec ($ch);
curl_close ($ch);
?>

View File

@@ -1,6 +1,7 @@
#
# A very simple example that gets a HTTP page.
#
<?php
//
// A very simple example that gets a HTTP page.
//
$ch = curl_init();
@@ -10,4 +11,4 @@ curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_exec ($ch);
curl_close ($ch);
?>

View File

@@ -1,6 +1,7 @@
#
# A very simple PHP example that sends a HTTP POST to a remote site
#
<?php
//
// A very simple PHP example that sends a HTTP POST to a remote site
//
$ch = curl_init();
@@ -10,3 +11,4 @@ curl_setopt($ch, CURLOPT_POSTFIELDS, "postvar1=value1&postvar2=value2&postvar3=v
curl_exec ($ch);
curl_close ($ch);
?>

2039
src/hugehelp.c.cvs Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,3 @@
#define CURL_NAME "curl"
#define CURL_VERSION "7.8-pre2"
#define CURL_VERSION "7.8"
#define CURL_ID CURL_NAME " " CURL_VERSION " (" OS ") "