fetch.c (60587) | fetch.c (60737) |
---|---|
1/*- 2 * Copyright (c) 1998 Dag-Erling Co�dan Sm�rgrav 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 11 unchanged lines hidden (view full) --- 20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 * | 1/*- 2 * Copyright (c) 1998 Dag-Erling Co�dan Sm�rgrav 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 11 unchanged lines hidden (view full) --- 20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 * |
28 * $FreeBSD: head/lib/libfetch/fetch.c 60587 2000-05-15 09:05:36Z ume $ | 28 * $FreeBSD: head/lib/libfetch/fetch.c 60737 2000-05-20 18:23:51Z ume $ |
29 */ 30 31#include <sys/param.h> 32#include <sys/errno.h> 33 34#include <ctype.h> 35#include <stdio.h> 36#include <stdlib.h> --- 244 unchanged lines hidden (view full) --- 281 for (q++, i = 0; (*q != ':') && (*q != '@'); q++) 282 if (i < URL_PWDLEN) 283 u->pwd[i++] = *q; 284 285 p++; 286 } else p = URL; 287 288 /* hostname */ | 29 */ 30 31#include <sys/param.h> 32#include <sys/errno.h> 33 34#include <ctype.h> 35#include <stdio.h> 36#include <stdlib.h> --- 244 unchanged lines hidden (view full) --- 281 for (q++, i = 0; (*q != ':') && (*q != '@'); q++) 282 if (i < URL_PWDLEN) 283 u->pwd[i++] = *q; 284 285 p++; 286 } else p = URL; 287 288 /* hostname */ |
289 for (i = 0; *p && (*p != '/') && (*p != ':'); p++) 290 if (i < MAXHOSTNAMELEN) 291 u->host[i++] = *p; | 289#ifdef INET6 290 if (*p == '[' && (q = strchr(p + 1, ']')) != NULL && 291 (*++q == '\0' || *q == '/' || *q == ':')) { 292 if ((i = q - p - 2) > MAXHOSTNAMELEN) 293 i = MAXHOSTNAMELEN; 294 strncpy(u->host, ++p, i); 295 p = q; 296 } else 297#endif 298 for (i = 0; *p && (*p != '/') && (*p != ':'); p++) 299 if (i < MAXHOSTNAMELEN) 300 u->host[i++] = *p; |
292 293 /* port */ 294 if (*p == ':') { 295 for (q = ++p; *q && (*q != '/'); q++) 296 if (isdigit(*q)) 297 u->port = u->port * 10 + (*q - '0'); 298 else { 299 /* invalid port */ --- 44 unchanged lines hidden --- | 301 302 /* port */ 303 if (*p == ':') { 304 for (q = ++p; *q && (*q != '/'); q++) 305 if (isdigit(*q)) 306 u->port = u->port * 10 + (*q - '0'); 307 else { 308 /* invalid port */ --- 44 unchanged lines hidden --- |