From 3d5cdfac4e0d5ce37c70841c05946dc4135e28e1 Mon Sep 17 00:00:00 2001
From: Jo-Philipp Wich <jow@openwrt.org>
Date: Mon, 7 Mar 2011 09:21:25 +0000
Subject: [PATCH] ppp: drop 402-use_uclibc_utils.patch, it breaks ip address
 conversion

SVN-Revision: 25921
---
 .../ppp/patches/402-use_uclibc_utils.patch    | 365 ------------------
 1 file changed, 365 deletions(-)
 delete mode 100644 package/ppp/patches/402-use_uclibc_utils.patch

diff --git a/package/ppp/patches/402-use_uclibc_utils.patch b/package/ppp/patches/402-use_uclibc_utils.patch
deleted file mode 100644
index 6fc8535a54..0000000000
--- a/package/ppp/patches/402-use_uclibc_utils.patch
+++ /dev/null
@@ -1,365 +0,0 @@
---- a/pppd/utils.c
-+++ b/pppd/utils.c
-@@ -30,6 +30,7 @@
- 
- #define RCSID	"$Id: utils.c,v 1.24 2004/11/04 10:02:26 paulus Exp $"
- 
-+#define _BSD_SOURCE
- #include <stdio.h>
- #include <ctype.h>
- #include <stdlib.h>
-@@ -67,15 +68,10 @@ extern char *strerror();
- 
- static void logit __P((int, char *, va_list));
- static void log_write __P((int, char *));
--static void vslp_printer __P((void *, char *, ...));
- static void format_packet __P((u_char *, int, void (*) (void *, char *, ...),
- 			       void *));
- 
--struct buffer_info {
--    char *ptr;
--    int len;
--};
--
-+#ifndef __UCLIBC__
- /*
-  * strlcpy - like strcpy/strncpy, doesn't overflow destination buffer,
-  * always leaves destination null-terminated (for len > 0).
-@@ -113,6 +109,7 @@ strlcat(dest, src, len)
- 
-     return dlen + strlcpy(dest + dlen, src, (len > dlen? len - dlen: 0));
- }
-+#endif
- 
- 
- /*
-@@ -129,17 +126,7 @@ slprintf __V((char *buf, int buflen, cha
-     va_list args;
-     int n;
- 
--#if defined(__STDC__)
-     va_start(args, fmt);
--#else
--    char *buf;
--    int buflen;
--    char *fmt;
--    va_start(args);
--    buf = va_arg(args, char *);
--    buflen = va_arg(args, int);
--    fmt = va_arg(args, char *);
--#endif
-     n = vslprintf(buf, buflen, fmt, args);
-     va_end(args);
-     return n;
-@@ -148,7 +135,6 @@ slprintf __V((char *buf, int buflen, cha
- /*
-  * vslprintf - like slprintf, takes a va_list instead of a list of args.
-  */
--#define OUTCHAR(c)	(buflen > 0? (--buflen, *buf++ = (c)): 0)
- 
- int
- vslprintf(buf, buflen, fmt, args)
-@@ -157,298 +143,14 @@ vslprintf(buf, buflen, fmt, args)
-     char *fmt;
-     va_list args;
- {
--    int c, i, n;
--    int width, prec, fillch;
--    int base, len, neg, quoted;
--    unsigned long val = 0;
--    char *str, *f, *buf0;
--    unsigned char *p;
--    char num[32];
--    time_t t;
--    u_int32_t ip;
--    static char hexchars[] = "0123456789abcdef";
--    struct buffer_info bufinfo;
--
--    buf0 = buf;
--    --buflen;
--    while (buflen > 0) {
--	for (f = fmt; *f != '%' && *f != 0; ++f)
--	    ;
--	if (f > fmt) {
--	    len = f - fmt;
--	    if (len > buflen)
--		len = buflen;
--	    memcpy(buf, fmt, len);
--	    buf += len;
--	    buflen -= len;
--	    fmt = f;
--	}
--	if (*fmt == 0)
--	    break;
--	c = *++fmt;
--	width = 0;
--	prec = -1;
--	fillch = ' ';
--	if (c == '0') {
--	    fillch = '0';
--	    c = *++fmt;
--	}
--	if (c == '*') {
--	    width = va_arg(args, int);
--	    c = *++fmt;
--	} else {
--	    while (isdigit(c)) {
--		width = width * 10 + c - '0';
--		c = *++fmt;
--	    }
--	}
--	if (c == '.') {
--	    c = *++fmt;
--	    if (c == '*') {
--		prec = va_arg(args, int);
--		c = *++fmt;
--	    } else {
--		prec = 0;
--		while (isdigit(c)) {
--		    prec = prec * 10 + c - '0';
--		    c = *++fmt;
--		}
--	    }
--	}
--	str = 0;
--	base = 0;
--	neg = 0;
--	++fmt;
--	switch (c) {
--	case 'l':
--	    c = *fmt++;
--	    switch (c) {
--	    case 'd':
--		val = va_arg(args, long);
--		if (val < 0) {
--		    neg = 1;
--		    val = -val;
--		}
--		base = 10;
--		break;
--	    case 'u':
--		val = va_arg(args, unsigned long);
--		base = 10;
--		break;
--	    default:
--		*buf++ = '%'; --buflen;
--		*buf++ = 'l'; --buflen;
--		--fmt;		/* so %lz outputs %lz etc. */
--		continue;
--	    }
--	    break;
--	case 'd':
--	    i = va_arg(args, int);
--	    if (i < 0) {
--		neg = 1;
--		val = -i;
--	    } else
--		val = i;
--	    base = 10;
--	    break;
--	case 'u':
--	    val = va_arg(args, unsigned int);
--	    base = 10;
--	    break;
--	case 'o':
--	    val = va_arg(args, unsigned int);
--	    base = 8;
--	    break;
--	case 'x':
--	case 'X':
--	    val = va_arg(args, unsigned int);
--	    base = 16;
--	    break;
--	case 'p':
--	    val = (unsigned long) va_arg(args, void *);
--	    base = 16;
--	    neg = 2;
--	    break;
--	case 's':
--	    str = va_arg(args, char *);
--	    break;
--	case 'c':
--	    num[0] = va_arg(args, int);
--	    num[1] = 0;
--	    str = num;
--	    break;
--	case 'm':
--	    str = strerror(errno);
--	    break;
--	case 'I':
--	    ip = va_arg(args, u_int32_t);
--	    ip = ntohl(ip);
--	    slprintf(num, sizeof(num), "%d.%d.%d.%d", (ip >> 24) & 0xff,
--		     (ip >> 16) & 0xff, (ip >> 8) & 0xff, ip & 0xff);
--	    str = num;
--	    break;
--#if 0	/* not used, and breaks on S/390, apparently */
--	case 'r':
--	    f = va_arg(args, char *);
--#ifndef __powerpc__
--	    n = vslprintf(buf, buflen + 1, f, va_arg(args, va_list));
--#else
--	    /* On the powerpc, a va_list is an array of 1 structure */
--	    n = vslprintf(buf, buflen + 1, f, va_arg(args, void *));
--#endif
--	    buf += n;
--	    buflen -= n;
--	    continue;
--#endif
--	case 't':
--	    time(&t);
--	    str = ctime(&t);
--	    str += 4;		/* chop off the day name */
--	    str[15] = 0;	/* chop off year and newline */
--	    break;
--	case 'v':		/* "visible" string */
--	case 'q':		/* quoted string */
--	    quoted = c == 'q';
--	    p = va_arg(args, unsigned char *);
--	    if (fillch == '0' && prec >= 0) {
--		n = prec;
--	    } else {
--		n = strlen((char *)p);
--		if (prec >= 0 && n > prec)
--		    n = prec;
--	    }
--	    while (n > 0 && buflen > 0) {
--		c = *p++;
--		--n;
--		if (!quoted && c >= 0x80) {
--		    OUTCHAR('M');
--		    OUTCHAR('-');
--		    c -= 0x80;
--		}
--		if (quoted && (c == '"' || c == '\\'))
--		    OUTCHAR('\\');
--		if (c < 0x20 || (0x7f <= c && c < 0xa0)) {
--		    if (quoted) {
--			OUTCHAR('\\');
--			switch (c) {
--			case '\t':	OUTCHAR('t');	break;
--			case '\n':	OUTCHAR('n');	break;
--			case '\b':	OUTCHAR('b');	break;
--			case '\f':	OUTCHAR('f');	break;
--			default:
--			    OUTCHAR('x');
--			    OUTCHAR(hexchars[c >> 4]);
--			    OUTCHAR(hexchars[c & 0xf]);
--			}
--		    } else {
--			if (c == '\t')
--			    OUTCHAR(c);
--			else {
--			    OUTCHAR('^');
--			    OUTCHAR(c ^ 0x40);
--			}
--		    }
--		} else
--		    OUTCHAR(c);
--	    }
--	    continue;
--	case 'P':		/* print PPP packet */
--	    bufinfo.ptr = buf;
--	    bufinfo.len = buflen + 1;
--	    p = va_arg(args, unsigned char *);
--	    n = va_arg(args, int);
--	    format_packet(p, n, vslp_printer, &bufinfo);
--	    buf = bufinfo.ptr;
--	    buflen = bufinfo.len - 1;
--	    continue;
--	case 'B':
--	    p = va_arg(args, unsigned char *);
--	    for (n = prec; n > 0; --n) {
--		c = *p++;
--		if (fillch == ' ')
--		    OUTCHAR(' ');
--		OUTCHAR(hexchars[(c >> 4) & 0xf]);
--		OUTCHAR(hexchars[c & 0xf]);
--	    }
--	    continue;
--	default:
--	    *buf++ = '%';
--	    if (c != '%')
--		--fmt;		/* so %z outputs %z etc. */
--	    --buflen;
--	    continue;
--	}
--	if (base != 0) {
--	    str = num + sizeof(num);
--	    *--str = 0;
--	    while (str > num + neg) {
--		*--str = hexchars[val % base];
--		val = val / base;
--		if (--prec <= 0 && val == 0)
--		    break;
--	    }
--	    switch (neg) {
--	    case 1:
--		*--str = '-';
--		break;
--	    case 2:
--		*--str = 'x';
--		*--str = '0';
--		break;
--	    }
--	    len = num + sizeof(num) - 1 - str;
--	} else {
--	    len = strlen(str);
--	    if (prec >= 0 && len > prec)
--		len = prec;
--	}
--	if (width > 0) {
--	    if (width > buflen)
--		width = buflen;
--	    if ((n = width - len) > 0) {
--		buflen -= n;
--		for (; n > 0; --n)
--		    *buf++ = fillch;
--	    }
--	}
--	if (len > buflen)
--	    len = buflen;
--	memcpy(buf, str, len);
--	buf += len;
--	buflen -= len;
--    }
--    *buf = 0;
--    return buf - buf0;
--}
-+	int ret;
- 
--/*
-- * vslp_printer - used in processing a %P format
-- */
--static void
--vslp_printer __V((void *arg, char *fmt, ...))
--{
--    int n;
--    va_list pvar;
--    struct buffer_info *bi;
--
--#if defined(__STDC__)
--    va_start(pvar, fmt);
--#else
--    void *arg;
--    char *fmt;
--    va_start(pvar);
--    arg = va_arg(pvar, void *);
--    fmt = va_arg(pvar, char *);
--#endif
--
--    bi = (struct buffer_info *) arg;
--    n = vslprintf(bi->ptr, bi->len, fmt, pvar);
--    va_end(pvar);
--
--    bi->ptr += n;
--    bi->len -= n;
-+	ret = vsnprintf(buf, buflen, fmt, args);
-+	buf[buflen - 1] = 0;
-+	return ret;
- }
- 
-+
- #ifdef unused
- /*
-  * log_packet - format a packet and log it.
-- 
2.30.2