diff options
| author | Daniel Stenberg <daniel@haxx.se> | 2000-08-23 07:23:42 +0000 | 
|---|---|---|
| committer | Daniel Stenberg <daniel@haxx.se> | 2000-08-23 07:23:42 +0000 | 
| commit | d4731b70505d308064e85bfa1ea1f88904442af2 (patch) | |
| tree | af88b993286e656d7b15062a704963142062ccc8 /lib | |
| parent | 8d2c24265d6d8ed74e3d2dc646cb1c3d20f290f3 (diff) | |
Albert Chin-A-Young's fixes
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/file.c | 4 | ||||
| -rw-r--r-- | lib/ftp.c | 8 | ||||
| -rw-r--r-- | lib/getdate.c | 123 | ||||
| -rw-r--r-- | lib/hostip.c | 22 | ||||
| -rw-r--r-- | lib/http.c | 4 | ||||
| -rw-r--r-- | lib/if2ip.c | 11 | 
6 files changed, 100 insertions, 72 deletions
| diff --git a/lib/file.c b/lib/file.c index 3b6aec63d..53e704f6b 100644 --- a/lib/file.c +++ b/lib/file.c @@ -60,13 +60,17 @@  #ifdef HAVE_SYS_SOCKET_H  #include <sys/socket.h>  #endif +#ifdef HAVE_NETINET_IN_H  #include <netinet/in.h> +#endif  #include <sys/time.h>  #include <sys/resource.h>  #ifdef HAVE_UNISTD_H  #include <unistd.h>  #endif +#ifdef HAVE_NETDB_H  #include <netdb.h> +#endif  #ifdef HAVE_ARPA_INET_H  #include <arpa/inet.h>  #endif @@ -60,22 +60,22 @@  #include <sys/socket.h>  #endif  #include <sys/types.h> +#ifdef HAVE_NETINET_IN_H  #include <netinet/in.h> +#endif  #ifdef HAVE_ARPA_INET_H  #include <arpa/inet.h>  #endif  #include <sys/utsname.h> +#ifdef HAVE_NETDB_H  #include <netdb.h>  #endif +#endif  #if defined(WIN32) && defined(__GNUC__) || defined(__MINGW32__)  #include <errno.h>  #endif -#ifdef HAVE_INET_NTOA_R -#include "inet_ntoa_r.h" -#endif -  #include <curl/curl.h>  #include "urldata.h"  #include "sendf.h" diff --git a/lib/getdate.c b/lib/getdate.c index edebf4e06..5af73c434 100644 --- a/lib/getdate.c +++ b/lib/getdate.c @@ -32,15 +32,18 @@  **  This code is in the public domain and has no copyright.  */ -#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). */ -  #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 @@ -219,7 +222,7 @@ static int	yyRelSeconds;  static int	yyRelYear; -#line 202 "getdate.y" +#line 205 "getdate.y"  typedef union {      int			Number;      enum _MERIDIAN	Meridian; @@ -302,11 +305,11 @@ static const short yyrhs[] = {    -1,  #if YYDEBUG != 0  static const short yyrline[] = { 0, -   218,   219,   222,   225,   228,   231,   234,   237,   240,   246, -   252,   261,   267,   279,   282,   285,   291,   295,   299,   305, -   309,   327,   333,   339,   343,   348,   352,   359,   367,   370, -   373,   376,   379,   382,   385,   388,   391,   394,   397,   400, -   403,   406,   409,   412,   415,   418,   421,   426,   459,   463 +   221,   222,   225,   228,   231,   234,   237,   240,   243,   249, +   255,   264,   270,   282,   285,   288,   294,   298,   302,   308, +   312,   330,   336,   342,   346,   351,   355,   362,   370,   373, +   376,   379,   382,   385,   388,   391,   394,   397,   400,   403, +   406,   409,   412,   415,   418,   421,   424,   429,   462,   466  };  #endif @@ -387,7 +390,7 @@ static const short yycheck[] = {     0,      56  };  /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */ -#line 3 "/usr/local/share/bison.simple" +#line 3 "/opt/TWWfsw/bison/share/bison.simple"  /* This file comes from bison-1.28.  */  /* Skeleton output parser for bison, @@ -601,7 +604,7 @@ __yy_memcpy (char *to, char *from, unsigned int count)  #endif  #endif -#line 217 "/usr/local/share/bison.simple" +#line 217 "/opt/TWWfsw/bison/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 *. @@ -930,37 +933,37 @@ yyreduce:    switch (yyn) {  case 3: -#line 222 "getdate.y" +#line 225 "getdate.y"  {  	    yyHaveTime++;  	;      break;}  case 4: -#line 225 "getdate.y" +#line 228 "getdate.y"  {  	    yyHaveZone++;  	;      break;}  case 5: -#line 228 "getdate.y" +#line 231 "getdate.y"  {  	    yyHaveDate++;  	;      break;}  case 6: -#line 231 "getdate.y" +#line 234 "getdate.y"  {  	    yyHaveDay++;  	;      break;}  case 7: -#line 234 "getdate.y" +#line 237 "getdate.y"  {  	    yyHaveRel++;  	;      break;}  case 9: -#line 240 "getdate.y" +#line 243 "getdate.y"  {  	    yyHour = yyvsp[-1].Number;  	    yyMinutes = 0; @@ -969,7 +972,7 @@ case 9:  	;      break;}  case 10: -#line 246 "getdate.y" +#line 249 "getdate.y"  {  	    yyHour = yyvsp[-3].Number;  	    yyMinutes = yyvsp[-1].Number; @@ -978,7 +981,7 @@ case 10:  	;      break;}  case 11: -#line 252 "getdate.y" +#line 255 "getdate.y"  {  	    yyHour = yyvsp[-3].Number;  	    yyMinutes = yyvsp[-1].Number; @@ -990,7 +993,7 @@ case 11:  	;      break;}  case 12: -#line 261 "getdate.y" +#line 264 "getdate.y"  {  	    yyHour = yyvsp[-5].Number;  	    yyMinutes = yyvsp[-3].Number; @@ -999,7 +1002,7 @@ case 12:  	;      break;}  case 13: -#line 267 "getdate.y" +#line 270 "getdate.y"  {  	    yyHour = yyvsp[-5].Number;  	    yyMinutes = yyvsp[-3].Number; @@ -1012,53 +1015,53 @@ case 13:  	;      break;}  case 14: -#line 279 "getdate.y" +#line 282 "getdate.y"  {  	    yyTimezone = yyvsp[0].Number;  	;      break;}  case 15: -#line 282 "getdate.y" +#line 285 "getdate.y"  {  	    yyTimezone = yyvsp[0].Number - 60;  	;      break;}  case 16: -#line 286 "getdate.y" +#line 289 "getdate.y"  {  	    yyTimezone = yyvsp[-1].Number - 60;  	;      break;}  case 17: -#line 291 "getdate.y" +#line 294 "getdate.y"  {  	    yyDayOrdinal = 1;  	    yyDayNumber = yyvsp[0].Number;  	;      break;}  case 18: -#line 295 "getdate.y" +#line 298 "getdate.y"  {  	    yyDayOrdinal = 1;  	    yyDayNumber = yyvsp[-1].Number;  	;      break;}  case 19: -#line 299 "getdate.y" +#line 302 "getdate.y"  {  	    yyDayOrdinal = yyvsp[-1].Number;  	    yyDayNumber = yyvsp[0].Number;  	;      break;}  case 20: -#line 305 "getdate.y" +#line 308 "getdate.y"  {  	    yyMonth = yyvsp[-2].Number;  	    yyDay = yyvsp[0].Number;  	;      break;}  case 21: -#line 309 "getdate.y" +#line 312 "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 @@ -1079,7 +1082,7 @@ case 21:  	;      break;}  case 22: -#line 327 "getdate.y" +#line 330 "getdate.y"  {  	    /* ISO 8601 format.  yyyy-mm-dd.  */  	    yyYear = yyvsp[-2].Number; @@ -1088,7 +1091,7 @@ case 22:  	;      break;}  case 23: -#line 333 "getdate.y" +#line 336 "getdate.y"  {  	    /* e.g. 17-JUN-1992.  */  	    yyDay = yyvsp[-2].Number; @@ -1097,14 +1100,14 @@ case 23:  	;      break;}  case 24: -#line 339 "getdate.y" +#line 342 "getdate.y"  {  	    yyMonth = yyvsp[-1].Number;  	    yyDay = yyvsp[0].Number;  	;      break;}  case 25: -#line 343 "getdate.y" +#line 346 "getdate.y"  {  	    yyMonth = yyvsp[-3].Number;  	    yyDay = yyvsp[-2].Number; @@ -1112,14 +1115,14 @@ case 25:  	;      break;}  case 26: -#line 348 "getdate.y" +#line 351 "getdate.y"  {  	    yyMonth = yyvsp[0].Number;  	    yyDay = yyvsp[-1].Number;  	;      break;}  case 27: -#line 352 "getdate.y" +#line 355 "getdate.y"  {  	    yyMonth = yyvsp[-1].Number;  	    yyDay = yyvsp[-2].Number; @@ -1127,7 +1130,7 @@ case 27:  	;      break;}  case 28: -#line 359 "getdate.y" +#line 362 "getdate.y"  {  	    yyRelSeconds = -yyRelSeconds;  	    yyRelMinutes = -yyRelMinutes; @@ -1138,115 +1141,115 @@ case 28:  	;      break;}  case 30: -#line 370 "getdate.y" +#line 373 "getdate.y"  {  	    yyRelYear += yyvsp[-1].Number * yyvsp[0].Number;  	;      break;}  case 31: -#line 373 "getdate.y" +#line 376 "getdate.y"  {  	    yyRelYear += yyvsp[-1].Number * yyvsp[0].Number;  	;      break;}  case 32: -#line 376 "getdate.y" +#line 379 "getdate.y"  {  	    yyRelYear += yyvsp[0].Number;  	;      break;}  case 33: -#line 379 "getdate.y" +#line 382 "getdate.y"  {  	    yyRelMonth += yyvsp[-1].Number * yyvsp[0].Number;  	;      break;}  case 34: -#line 382 "getdate.y" +#line 385 "getdate.y"  {  	    yyRelMonth += yyvsp[-1].Number * yyvsp[0].Number;  	;      break;}  case 35: -#line 385 "getdate.y" +#line 388 "getdate.y"  {  	    yyRelMonth += yyvsp[0].Number;  	;      break;}  case 36: -#line 388 "getdate.y" +#line 391 "getdate.y"  {  	    yyRelDay += yyvsp[-1].Number * yyvsp[0].Number;  	;      break;}  case 37: -#line 391 "getdate.y" +#line 394 "getdate.y"  {  	    yyRelDay += yyvsp[-1].Number * yyvsp[0].Number;  	;      break;}  case 38: -#line 394 "getdate.y" +#line 397 "getdate.y"  {  	    yyRelDay += yyvsp[0].Number;  	;      break;}  case 39: -#line 397 "getdate.y" +#line 400 "getdate.y"  {  	    yyRelHour += yyvsp[-1].Number * yyvsp[0].Number;  	;      break;}  case 40: -#line 400 "getdate.y" +#line 403 "getdate.y"  {  	    yyRelHour += yyvsp[-1].Number * yyvsp[0].Number;  	;      break;}  case 41: -#line 403 "getdate.y" +#line 406 "getdate.y"  {  	    yyRelHour += yyvsp[0].Number;  	;      break;}  case 42: -#line 406 "getdate.y" +#line 409 "getdate.y"  {  	    yyRelMinutes += yyvsp[-1].Number * yyvsp[0].Number;  	;      break;}  case 43: -#line 409 "getdate.y" +#line 412 "getdate.y"  {  	    yyRelMinutes += yyvsp[-1].Number * yyvsp[0].Number;  	;      break;}  case 44: -#line 412 "getdate.y" +#line 415 "getdate.y"  {  	    yyRelMinutes += yyvsp[0].Number;  	;      break;}  case 45: -#line 415 "getdate.y" +#line 418 "getdate.y"  {  	    yyRelSeconds += yyvsp[-1].Number * yyvsp[0].Number;  	;      break;}  case 46: -#line 418 "getdate.y" +#line 421 "getdate.y"  {  	    yyRelSeconds += yyvsp[-1].Number * yyvsp[0].Number;  	;      break;}  case 47: -#line 421 "getdate.y" +#line 424 "getdate.y"  {  	    yyRelSeconds += yyvsp[0].Number;  	;      break;}  case 48: -#line 427 "getdate.y" +#line 430 "getdate.y"  {  	    if (yyHaveTime && yyHaveDate && !yyHaveRel)  	      yyYear = yyvsp[0].Number; @@ -1279,20 +1282,20 @@ case 48:  	  ;      break;}  case 49: -#line 460 "getdate.y" +#line 463 "getdate.y"  {  	    yyval.Meridian = MER24;  	  ;      break;}  case 50: -#line 464 "getdate.y" +#line 467 "getdate.y"  {  	    yyval.Meridian = yyvsp[0].Meridian;  	  ;      break;}  }     /* the action file gets copied in in place of this dollarsign */ -#line 543 "/usr/local/share/bison.simple" +#line 543 "/opt/TWWfsw/bison/share/bison.simple"    yyvsp -= yylen;    yyssp -= yylen; @@ -1512,7 +1515,7 @@ yyerrhandle:      }    return 1;  } -#line 469 "getdate.y" +#line 472 "getdate.y"  /* Include this file down here because bison inserts code above which diff --git a/lib/hostip.c b/lib/hostip.c index 3ae21cb1b..fe8a7743f 100644 --- a/lib/hostip.c +++ b/lib/hostip.c @@ -40,9 +40,12 @@  #include <string.h>  #include <malloc.h> +#include <errno.h>  #include "setup.h" +#define _REENTRANT +  #if defined(WIN32) && !defined(__GNUC__) || defined(__MINGW32__)  #include <winsock.h>  #else @@ -52,8 +55,12 @@  #ifdef HAVE_SYS_SOCKET_H  #include <sys/socket.h>  #endif +#ifdef HAVE_NETINET_IN_H  #include <netinet/in.h> +#endif +#ifdef HAVE_NETDB_H  #include <netdb.h> +#endif  #ifdef HAVE_ARPA_INET_H  #include <arpa/inet.h>  #endif @@ -62,9 +69,7 @@  #include "urldata.h"  #include "sendf.h" -#define _REENTRANT - -#ifdef HAVE_INET_NTOA_R +#ifndef HAVE_INET_NTOA_R_DECL  #include "inet_ntoa_r.h"  #endif @@ -103,6 +108,7 @@ struct hostent *GetHost(struct UrlData *data,  {    struct hostent *h = NULL;    unsigned long in; +  int ret;    if ( (in=inet_addr(hostname)) != INADDR_NONE ) {      struct in_addr *addrentry; @@ -145,13 +151,17 @@ struct hostent *GetHost(struct UrlData *data,      /* August 4th, 2000. I don't have any such system around so I write this         blindly in hope it might work or that someone else will help me fix -       this. */ +       this. August 22nd, 2000: Albert Chin-A-Young brought an updated version +       that should work! */ -    h = gethostbyname_r(hostname, +    ret = gethostbyname_r(hostname,                          (struct hostent *)buf,                          (struct hostent_data *)(buf + sizeof(struct hostent))); + +    /* result expected in h */ +    h = (struct hostent*)buf;      h_errnop= errno; /* we don't deal with this, but set it anyway */ -    if(NULL == h) +    if(ret)  #endif        {        infof(data, "gethostbyname_r(2) failed for %s\n", hostname); diff --git a/lib/http.c b/lib/http.c index fae22816f..0632f6084 100644 --- a/lib/http.c +++ b/lib/http.c @@ -38,9 +38,11 @@   * ------------------------------------------------------------   ****************************************************************************/ +#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  /* -- WIN32 approved -- */  #include <stdio.h> @@ -63,7 +65,9 @@  #ifdef HAVE_SYS_SOCKET_H  #include <sys/socket.h>  #endif +#ifdef HAVE_NETINET_IN_H  #include <netinet/in.h> +#endif  #include <sys/time.h>  #ifdef HAVE_TIME_H diff --git a/lib/if2ip.c b/lib/if2ip.c index 420b6df2c..ede5cf08c 100644 --- a/lib/if2ip.c +++ b/lib/if2ip.c @@ -50,12 +50,19 @@  #if ! defined(WIN32) && ! defined(__BEOS__) +#ifdef NEED_REENTRANT +#define _REENTRANT +#endif + +#ifdef HAVE_SYS_SOCKET_H  #include <sys/socket.h> +#endif +#ifdef HAVE_NETINET_IN_H  #include <netinet/in.h> +#endif  #ifdef HAVE_ARPA_INET_H  #include <arpa/inet.h>  #endif -#include <netinet/in.h>  #ifdef HAVE_SYS_TIME_H  /* This must be before net/if.h for AIX 3.2 to enjoy life */ @@ -75,7 +82,7 @@  #include <sys/sockio.h>  #endif -#ifdef HAVE_INET_NTOA_R +#ifndef HAVE_INET_NTOA_R_DECL  #include "inet_ntoa_r.h"  #endif | 
