summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlin Năstac <mrness@gentoo.org>2007-04-14 16:16:55 +0000
committerAlin Năstac <mrness@gentoo.org>2007-04-14 16:16:55 +0000
commitb5b1fac3781eb0c5069724c8456e9641aaa9a5e0 (patch)
tree8e9504b4af7f9c95bbb4bdd78cde07205e45102c /net-dialup/linux-atm
parentVersion bump, wrt security fixes, and stable to x86 (diff)
downloadgentoo-2-b5b1fac3781eb0c5069724c8456e9641aaa9a5e0.tar.gz
gentoo-2-b5b1fac3781eb0c5069724c8456e9641aaa9a5e0.tar.bz2
gentoo-2-b5b1fac3781eb0c5069724c8456e9641aaa9a5e0.zip
Fix QA warnings.
(Portage version: 2.1.2.2)
Diffstat (limited to 'net-dialup/linux-atm')
-rw-r--r--net-dialup/linux-atm/ChangeLog9
-rw-r--r--net-dialup/linux-atm/files/digest-linux-atm-2.4.1-r23
-rw-r--r--net-dialup/linux-atm/files/linux-atm-2.4.1-declarations.patch266
-rw-r--r--net-dialup/linux-atm/files/linux-atm-2.4.1-gcc4.patch161
-rw-r--r--net-dialup/linux-atm/linux-atm-2.4.1-r2.ebuild44
5 files changed, 482 insertions, 1 deletions
diff --git a/net-dialup/linux-atm/ChangeLog b/net-dialup/linux-atm/ChangeLog
index bab24ab54bda..bddffb1b4b4c 100644
--- a/net-dialup/linux-atm/ChangeLog
+++ b/net-dialup/linux-atm/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-dialup/linux-atm
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-dialup/linux-atm/ChangeLog,v 1.21 2007/04/13 22:31:53 mrness Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/linux-atm/ChangeLog,v 1.22 2007/04/14 16:16:55 mrness Exp $
+
+*linux-atm-2.4.1-r2 (14 Apr 2007)
+
+ 14 Apr 2007; Alin Năstac <mrness@gentoo.org>
+ +files/linux-atm-2.4.1-declarations.patch,
+ +files/linux-atm-2.4.1-gcc4.patch, +linux-atm-2.4.1-r2.ebuild:
+ Fix QA warnings.
13 Apr 2007; Alin Năstac <mrness@gentoo.org> +files/2.4.1-linux-if.patch,
linux-atm-2.4.1-r1.ebuild:
diff --git a/net-dialup/linux-atm/files/digest-linux-atm-2.4.1-r2 b/net-dialup/linux-atm/files/digest-linux-atm-2.4.1-r2
new file mode 100644
index 000000000000..d649f2a84c18
--- /dev/null
+++ b/net-dialup/linux-atm/files/digest-linux-atm-2.4.1-r2
@@ -0,0 +1,3 @@
+MD5 84fef49cc39ff2605204246666f65864 linux-atm-2.4.1.tar.gz 711714
+RMD160 bee14d7dd0b703d8e17bb6b9a7366408d4509b48 linux-atm-2.4.1.tar.gz 711714
+SHA256 a812816ee1742bf3bf8977a391b369a7351f54a1917dc90b27e666679dd1742a linux-atm-2.4.1.tar.gz 711714
diff --git a/net-dialup/linux-atm/files/linux-atm-2.4.1-declarations.patch b/net-dialup/linux-atm/files/linux-atm-2.4.1-declarations.patch
new file mode 100644
index 000000000000..77ed766f0328
--- /dev/null
+++ b/net-dialup/linux-atm/files/linux-atm-2.4.1-declarations.patch
@@ -0,0 +1,266 @@
+diff -Nru linux-atm-2.4.1.orig/src/arpd/io.c linux-atm-2.4.1/src/arpd/io.c
+--- linux-atm-2.4.1.orig/src/arpd/io.c 2001-09-03 21:41:05.000000000 +0300
++++ linux-atm-2.4.1/src/arpd/io.c 2007-04-14 18:30:54.000000000 +0300
+@@ -16,7 +16,7 @@
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <sys/ioctl.h>
+-#include <net/if.h>
++#include <linux/if.h>
+ #include <netinet/in.h>
+ #include <atm.h>
+ #include <linux/atmclip.h> /* for CLIP_DEFAULT_IDLETIMER */
+diff -Nru linux-atm-2.4.1.orig/src/debug/svctor.c linux-atm-2.4.1/src/debug/svctor.c
+--- linux-atm-2.4.1.orig/src/debug/svctor.c 2001-09-03 21:41:06.000000000 +0300
++++ linux-atm-2.4.1/src/debug/svctor.c 2007-04-14 18:37:01.000000000 +0300
+@@ -20,6 +20,7 @@
+ #define QOS "ubr,aal5:tx:max_sdu=100,rx:max_sdu=100"
+
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <signal.h>
+diff -Nru linux-atm-2.4.1.orig/src/ilmid/asn1/asn_bits.c linux-atm-2.4.1/src/ilmid/asn1/asn_bits.c
+--- linux-atm-2.4.1.orig/src/ilmid/asn1/asn_bits.c 2001-09-03 21:41:06.000000000 +0300
++++ linux-atm-2.4.1/src/ilmid/asn1/asn_bits.c 2007-04-14 18:31:56.000000000 +0300
+@@ -20,6 +20,8 @@
+ #if HAVE_CONFIG_H
+ #include <config.h>
+ #endif
++#include <stdlib.h>
++#include <string.h>
+
+ #include "asn_config.h"
+ #include "asn_len.h"
+diff -Nru linux-atm-2.4.1.orig/src/ilmid/asn1/asn_list.c linux-atm-2.4.1/src/ilmid/asn1/asn_list.c
+--- linux-atm-2.4.1.orig/src/ilmid/asn1/asn_list.c 2001-09-03 21:41:06.000000000 +0300
++++ linux-atm-2.4.1/src/ilmid/asn1/asn_list.c 2007-04-14 18:42:38.000000000 +0300
+@@ -20,6 +20,7 @@
+ #include <config.h>
+ #endif
+
++#include <stdlib.h>
+ #include "asn_config.h"
+ #include "asn_list.h"
+
+diff -Nru linux-atm-2.4.1.orig/src/ilmid/asn1/asn_octs.c linux-atm-2.4.1/src/ilmid/asn1/asn_octs.c
+--- linux-atm-2.4.1.orig/src/ilmid/asn1/asn_octs.c 2001-09-03 21:41:06.000000000 +0300
++++ linux-atm-2.4.1/src/ilmid/asn1/asn_octs.c 2007-04-14 18:32:06.000000000 +0300
+@@ -20,6 +20,8 @@
+ #if HAVE_CONFIG_H
+ #include <config.h>
+ #endif
++#include <stdlib.h>
++#include <string.h>
+
+ #include "asn_config.h"
+ #include "asn_len.h"
+diff -Nru linux-atm-2.4.1.orig/src/ilmid/asn1/asn_oid.c linux-atm-2.4.1/src/ilmid/asn1/asn_oid.c
+--- linux-atm-2.4.1.orig/src/ilmid/asn1/asn_oid.c 2001-09-03 21:41:06.000000000 +0300
++++ linux-atm-2.4.1/src/ilmid/asn1/asn_oid.c 2007-04-14 18:32:54.000000000 +0300
+@@ -20,6 +20,8 @@
+ #if HAVE_CONFIG_H
+ #include <config.h>
+ #endif
++#include <stdlib.h>
++#include <string.h>
+
+ #include "asn_config.h"
+ #include "asn_len.h"
+diff -Nru linux-atm-2.4.1.orig/src/ilmid/asn1/nibble_alloc.c linux-atm-2.4.1/src/ilmid/asn1/nibble_alloc.c
+--- linux-atm-2.4.1.orig/src/ilmid/asn1/nibble_alloc.c 2001-09-03 21:41:06.000000000 +0300
++++ linux-atm-2.4.1/src/ilmid/asn1/nibble_alloc.c 2007-04-14 18:43:04.000000000 +0300
+@@ -20,6 +20,7 @@
+ #include <config.h>
+ #endif
+
++#include <stdlib.h>
+ #include <memory.h>
+ #include "asn_config.h"
+ #include "nibble_alloc.h"
+diff -Nru linux-atm-2.4.1.orig/src/ilmid/atmf_uni.c linux-atm-2.4.1/src/ilmid/atmf_uni.c
+--- linux-atm-2.4.1.orig/src/ilmid/atmf_uni.c 2007-04-14 18:30:41.000000000 +0300
++++ linux-atm-2.4.1/src/ilmid/atmf_uni.c 2007-04-14 18:43:35.000000000 +0300
+@@ -25,6 +25,7 @@
+ #include <config.h>
+ #endif
+
++#include <stdlib.h>
+ #include "atmf_uni.h"
+ #include "atmd.h"
+ #include "util.h"
+diff -Nru linux-atm-2.4.1.orig/src/ilmid/ilmid.c linux-atm-2.4.1/src/ilmid/ilmid.c
+--- linux-atm-2.4.1.orig/src/ilmid/ilmid.c 2001-09-03 21:41:06.000000000 +0300
++++ linux-atm-2.4.1/src/ilmid/ilmid.c 2007-04-14 18:33:47.000000000 +0300
+@@ -34,6 +34,7 @@
+ #endif
+
+ #include <unistd.h>
++#include <stdlib.h>
+ #include <sys/time.h>
+ #include <errno.h>
+ #include "asn_incl.h"
+diff -Nru linux-atm-2.4.1.orig/src/ilmid/io.c linux-atm-2.4.1/src/ilmid/io.c
+--- linux-atm-2.4.1.orig/src/ilmid/io.c 2001-09-03 21:41:06.000000000 +0300
++++ linux-atm-2.4.1/src/ilmid/io.c 2007-04-14 18:44:42.000000000 +0300
+@@ -25,6 +25,7 @@
+ #include <config.h>
+ #endif
+
++#include <unistd.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #include <sys/ioctl.h>
+diff -Nru linux-atm-2.4.1.orig/src/ilmid/mib.c linux-atm-2.4.1/src/ilmid/mib.c
+--- linux-atm-2.4.1.orig/src/ilmid/mib.c 2001-09-03 21:41:06.000000000 +0300
++++ linux-atm-2.4.1/src/ilmid/mib.c 2007-04-14 18:45:49.000000000 +0300
+@@ -30,6 +30,7 @@
+ #include "atmf_uni.h"
+ #include "util.h"
+ #include "atmd.h"
++#include "io.h"
+
+ #include <unistd.h> /* gethostname() */
+ #include <netdb.h> /* gethostbyname() */
+diff -Nru linux-atm-2.4.1.orig/src/lane/lecs_db.l linux-atm-2.4.1/src/lane/lecs_db.l
+--- linux-atm-2.4.1.orig/src/lane/lecs_db.l 2001-09-03 21:41:05.000000000 +0300
++++ linux-atm-2.4.1/src/lane/lecs_db.l 2007-04-14 18:35:17.000000000 +0300
+@@ -7,6 +7,7 @@
+ /*Standard includes*/
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+
+ /* Local includes */
+ #include "lecs_load.h"
+diff -Nru linux-atm-2.4.1.orig/src/lane/load_lex.l linux-atm-2.4.1/src/lane/load_lex.l
+--- linux-atm-2.4.1.orig/src/lane/load_lex.l 2001-09-03 21:41:05.000000000 +0300
++++ linux-atm-2.4.1/src/lane/load_lex.l 2007-04-14 18:34:51.000000000 +0300
+@@ -4,6 +4,7 @@
+ #include <config.h>
+ #endif
+
++#include <string.h>
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+
+diff -Nru linux-atm-2.4.1.orig/src/lane/mem_lecs.c linux-atm-2.4.1/src/lane/mem_lecs.c
+--- linux-atm-2.4.1.orig/src/lane/mem_lecs.c 2001-09-03 21:41:05.000000000 +0300
++++ linux-atm-2.4.1/src/lane/mem_lecs.c 2007-04-14 18:35:47.000000000 +0300
+@@ -13,6 +13,7 @@
+ /* System includes */
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include <sys/types.h>
+
+ /* Local includes */
+diff -Nru linux-atm-2.4.1.orig/src/mpoad/k_interf.c linux-atm-2.4.1/src/mpoad/k_interf.c
+--- linux-atm-2.4.1.orig/src/mpoad/k_interf.c 2001-09-03 21:41:06.000000000 +0300
++++ linux-atm-2.4.1/src/mpoad/k_interf.c 2007-04-14 18:36:40.000000000 +0300
+@@ -3,6 +3,7 @@
+ #endif
+
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <unistd.h>
+ #include <string.h>
+ #include <errno.h>
+diff -Nru linux-atm-2.4.1.orig/src/qgen/ql_y.y linux-atm-2.4.1/src/qgen/ql_y.y
+--- linux-atm-2.4.1.orig/src/qgen/ql_y.y 2001-09-03 21:41:05.000000000 +0300
++++ linux-atm-2.4.1/src/qgen/ql_y.y 2007-04-14 19:10:07.000000000 +0300
+@@ -26,6 +26,8 @@
+ static STRUCTURE *structures = NULL;
+ static const char *abort_id; /* indicates abort flag */
+
++void yyerror(const char *s);
++int yylex ( void );
+
+ static NAME_LIST *get_name_list(const char *name)
+ {
+diff -Nru linux-atm-2.4.1.orig/src/sigd/cfg_y.y linux-atm-2.4.1/src/sigd/cfg_y.y
+--- linux-atm-2.4.1.orig/src/sigd/cfg_y.y 2001-09-03 21:41:06.000000000 +0300
++++ linux-atm-2.4.1/src/sigd/cfg_y.y 2007-04-14 19:10:56.000000000 +0300
+@@ -7,6 +7,7 @@
+ #include <config.h>
+ #endif
+
++#include <stdlib.h>
+ #include <string.h>
+ #include <ctype.h>
+ #include <limits.h>
+@@ -23,6 +24,9 @@
+ static RULE *rule;
+ static SIG_ENTITY *curr_sig = &_entity;
+
++void yyerror(const char *s);
++void yywarn(const char *s);
++int yylex ( void );
+
+ static int hex2num(char digit)
+ {
+@@ -126,7 +130,7 @@
+ for (sig = entities; sig; sig = sig->next)
+ if (atm_equal((struct sockaddr *) &sig->signaling_pvc,
+ (struct sockaddr *) &$2,0,0))
+- yyerror("duplicate PVC address %d.%d.%d",S_PVC(sig));
++ yyerror("duplicate PVC address");
+ curr_sig = alloc_t(SIG_ENTITY);
+ *curr_sig = _entity;
+ curr_sig->signaling_pvc = $2;
+diff -Nru linux-atm-2.4.1.orig/src/switch/cfg_y.y linux-atm-2.4.1/src/switch/cfg_y.y
+--- linux-atm-2.4.1.orig/src/switch/cfg_y.y 2001-09-03 21:41:06.000000000 +0300
++++ linux-atm-2.4.1/src/switch/cfg_y.y 2007-04-14 19:11:34.000000000 +0300
+@@ -7,6 +7,7 @@
+ #include <config.h>
+ #endif
+
++#include <stdlib.h>
+ #include <string.h>
+ #include <errno.h>
+ #include <limits.h>
+@@ -22,6 +23,9 @@
+ static int itf;
+ static SIGNALING_ENTITY *sig;
+
++void yyerror(const char *s);
++int yylex ( void );
++
+ %}
+
+ %union {
+diff -Nru linux-atm-2.4.1.orig/src/test/ispl_y.y linux-atm-2.4.1/src/test/ispl_y.y
+--- linux-atm-2.4.1.orig/src/test/ispl_y.y 2001-09-03 21:41:06.000000000 +0300
++++ linux-atm-2.4.1/src/test/ispl_y.y 2007-04-14 19:08:33.000000000 +0300
+@@ -19,6 +19,7 @@
+
+ static struct atmsvc_msg msg;
+
++int yylex ( void );
+
+ %}
+
+diff -Nru linux-atm-2.4.1.orig/src/test/ttcp.c linux-atm-2.4.1/src/test/ttcp.c
+--- linux-atm-2.4.1.orig/src/test/ttcp.c 2001-09-03 21:41:06.000000000 +0300
++++ linux-atm-2.4.1/src/test/ttcp.c 2007-04-14 18:30:54.000000000 +0300
+@@ -54,7 +54,11 @@
+ /* #define BSD41a */
+ /* #define SYSV */ /* required on SGI IRIX releases before 3.3 */
+
++#include <stdlib.h>
++#include <unistd.h>
++#include <string.h>
+ #include <stdio.h>
++#include <sys/select.h>
+ #include <signal.h>
+ #include <ctype.h>
+ #include <errno.h>
+@@ -120,7 +124,6 @@
+ static struct rusage ru0; /* Resource utilization at the start */
+
+ struct hostent *addr;
+-extern int errno;
+ extern int optind;
+ extern char *optarg;
+
diff --git a/net-dialup/linux-atm/files/linux-atm-2.4.1-gcc4.patch b/net-dialup/linux-atm/files/linux-atm-2.4.1-gcc4.patch
new file mode 100644
index 000000000000..a761250408f9
--- /dev/null
+++ b/net-dialup/linux-atm/files/linux-atm-2.4.1-gcc4.patch
@@ -0,0 +1,161 @@
+diff -Nru linux-atm-2.4.1.orig/src/ilmid/atmf_uni.c linux-atm-2.4.1/src/ilmid/atmf_uni.c
+--- linux-atm-2.4.1.orig/src/ilmid/atmf_uni.c 2001-09-03 21:41:06.000000000 +0300
++++ linux-atm-2.4.1/src/ilmid/atmf_uni.c 2007-04-14 18:03:27.000000000 +0300
+@@ -187,7 +187,7 @@
+ newPrefix->name = alloc_t(AsnOid);
+ newPrefix->name->octs = alloc(varBindName->octetLen);
+ AsnOidCopy(newPrefix->name, varBindName);
+- Q_INSERT_BEFORE((NetPrefixNode *) var->value, newPrefix, prefix);
++ Q_INSERT_BEFORE((*((NetPrefixNode **)&var->value)), newPrefix, prefix);
+ if(atmNetPrefix.octs == NULL)
+ {
+ atmNetPrefix.octetLen = varBindName->octetLen - NETPREFIX_LEN - 2;
+@@ -197,7 +197,7 @@
+ }
+ else if (varbind->value->a.simple->a.number == INVALID && cmp == AsnOidEqual)
+ {
+- Q_REMOVE((NetPrefixNode *) var->value, prefix);
++ Q_REMOVE((*((NetPrefixNode **) &var->value)), prefix);
+ }
+
+ return NOERROR;
+diff -Nru linux-atm-2.4.1.orig/src/lib/sapequal.c linux-atm-2.4.1/src/lib/sapequal.c
+--- linux-atm-2.4.1.orig/src/lib/sapequal.c 2001-09-03 21:41:05.000000000 +0300
++++ linux-atm-2.4.1/src/lib/sapequal.c 2007-04-14 18:03:23.000000000 +0300
+@@ -65,6 +65,7 @@
+ CHECK(l2.itu.window,a.l2.itu.window > b.l2.itu.window);
+ break;
+ default:
++ ;
+ }
+ switch (a.l3_proto) {
+ case ATM_L3_X25:
+@@ -83,6 +84,7 @@
+ if (a.l3.user != b.l3.user) return 0;
+ break;
+ default:
++ ;
+ }
+ return 1;
+ }
+diff -Nru linux-atm-2.4.1.orig/src/maint/atmtcp.c linux-atm-2.4.1/src/maint/atmtcp.c
+--- linux-atm-2.4.1.orig/src/maint/atmtcp.c 2001-09-03 21:41:06.000000000 +0300
++++ linux-atm-2.4.1/src/maint/atmtcp.c 2007-04-14 18:03:27.000000000 +0300
+@@ -60,7 +60,7 @@
+ static IN *inputs = NULL;
+ static fd_set in_set;
+ static int fds = 0;
+-static int debug = 0;
++int debug = 0;
+ static int links = 0;
+
+
+diff -Nru linux-atm-2.4.1.orig/src/maint/enitune.c linux-atm-2.4.1/src/maint/enitune.c
+--- linux-atm-2.4.1.orig/src/maint/enitune.c 2001-09-03 21:41:06.000000000 +0300
++++ linux-atm-2.4.1/src/maint/enitune.c 2007-04-14 18:03:23.000000000 +0300
+@@ -44,6 +44,7 @@
+ if (*end || mult.rx <= 100) usage(name);
+ break;
+ default:
++ ;
+ }
+ if (argc != optind+1) usage(name);
+ sioc.number = strtol(argv[optind],&end,0);
+diff -Nru linux-atm-2.4.1.orig/src/mpoad/p_factory.c linux-atm-2.4.1/src/mpoad/p_factory.c
+--- linux-atm-2.4.1.orig/src/mpoad/p_factory.c 2001-09-03 21:41:06.000000000 +0300
++++ linux-atm-2.4.1/src/mpoad/p_factory.c 2007-04-14 18:03:27.000000000 +0300
+@@ -31,16 +31,17 @@
+ * beginning at location "addr".
+ */
+ uint32_t sum = 0;
++ uint16_t *addr16 = addr;
+
+ while( count > 1 ) {
+ /* This is the inner loop */
+- sum += * ((uint16_t *) addr)++;
++ sum += * addr16++;
+ count -= 2;
+ }
+
+ /* Add left-over byte, if any */
+ if( count > 0 )
+- sum += * (unsigned char *) addr;
++ sum += * (unsigned char *) addr16;
+
+ /* Fold 32-bit sum to 16 bits */
+ while (sum>>16)
+diff -Nru linux-atm-2.4.1.orig/src/qgen/qlib.c linux-atm-2.4.1/src/qgen/qlib.c
+--- linux-atm-2.4.1.orig/src/qgen/qlib.c 2001-09-03 21:41:05.000000000 +0300
++++ linux-atm-2.4.1/src/qgen/qlib.c 2007-04-14 18:03:27.000000000 +0300
+@@ -26,8 +26,6 @@
+ #include "op.h"
+
+
+-static int debug = 0;
+-
+
+ void PREFIX(report)(int severity,const char *msg,...)
+ {
+@@ -830,6 +828,8 @@
+
+ #ifdef STANDALONE
+
++int debug = 0;
++
+ int main(int argc,const char **argv)
+ {
+ unsigned char msg[5000]; /* should be large enough for that */
+diff -Nru linux-atm-2.4.1.orig/src/qgen/qlib.h linux-atm-2.4.1/src/qgen/qlib.h
+--- linux-atm-2.4.1.orig/src/qgen/qlib.h 2001-09-03 21:41:05.000000000 +0300
++++ linux-atm-2.4.1/src/qgen/qlib.h 2007-04-14 18:03:27.000000000 +0300
+@@ -23,7 +23,6 @@
+ #define Q_FATAL -1
+
+
+-extern int q_dump;
+ extern void q_report(int severity,const char *msg,...);
+
+ #ifdef DUMP_MODE
+diff -Nru linux-atm-2.4.1.orig/src/sigd/proto.c linux-atm-2.4.1/src/sigd/proto.c
+--- linux-atm-2.4.1.orig/src/sigd/proto.c 2001-09-03 21:41:06.000000000 +0300
++++ linux-atm-2.4.1/src/sigd/proto.c 2007-04-14 18:03:23.000000000 +0300
+@@ -259,6 +259,7 @@
+ break;
+ }
+ default:
++ ;
+ }
+ va_end(ap);
+ if ((size = q_close(&dsc)) >= 0) to_signaling(sock->sig,q_buffer,size);
+@@ -288,6 +289,7 @@
+ }
+ break;
+ default:
++ ;
+ }
+ va_end(ap);
+ }
+diff -Nru linux-atm-2.4.1.orig/src/switch/debug/debug.c linux-atm-2.4.1/src/switch/debug/debug.c
+--- linux-atm-2.4.1.orig/src/switch/debug/debug.c 2001-09-03 21:41:06.000000000 +0300
++++ linux-atm-2.4.1/src/switch/debug/debug.c 2007-04-14 18:03:27.000000000 +0300
+@@ -18,7 +18,7 @@
+ #define COMPONENT "FAB(debug)"
+
+
+-#define PRV(call) ((FAB *) (call)->fab)
++#define PRV(call) (*((FAB **) &(call)->fab))
+
+
+ typedef struct _fab {
+diff -Nru linux-atm-2.4.1.orig/src/switch/tcp/tcpsw.c linux-atm-2.4.1/src/switch/tcp/tcpsw.c
+--- linux-atm-2.4.1.orig/src/switch/tcp/tcpsw.c 2001-09-03 21:41:06.000000000 +0300
++++ linux-atm-2.4.1/src/switch/tcp/tcpsw.c 2007-04-14 18:03:27.000000000 +0300
+@@ -27,7 +27,7 @@
+
+ #define COMPONENT "FAB(tcp)"
+
+-#define PRV(call) ((FAB *) (call)->fab)
++#define PRV(call) (*((FAB **) &(call)->fab))
+
+ #define MAX_VCI 1024
+
diff --git a/net-dialup/linux-atm/linux-atm-2.4.1-r2.ebuild b/net-dialup/linux-atm/linux-atm-2.4.1-r2.ebuild
new file mode 100644
index 000000000000..6eda28a7aa29
--- /dev/null
+++ b/net-dialup/linux-atm/linux-atm-2.4.1-r2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/linux-atm/linux-atm-2.4.1-r2.ebuild,v 1.1 2007/04/14 16:16:55 mrness Exp $
+
+inherit eutils libtool flag-o-matic
+
+DESCRIPTION="Tools for ATM"
+HOMEPAGE="http://linux-atm.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+RESTRICT="test"
+
+src_unpack() {
+ unpack ${A}
+
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-gcc4.patch
+ epatch "${FILESDIR}"/${P}-declarations.patch
+
+ sed -i '/#define _LINUX_NETDEVICE_H/d' \
+ src/arpd/*.c || die "sed command on arpd/*.c files failed"
+ sed -i 's:cp hosts.atm /etc:cp hosts.atm ${DESTDIR}/etc:' \
+ src/config/Makefile.in || die "sed command on Makefile.in failed"
+
+ elibtoolize
+}
+
+src_compile() {
+ append-flags -fno-strict-aliasing
+
+ econf || die "econf failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+
+ dodoc README NEWS THANKS AUTHORS BUGS ChangeLog
+ dodoc doc/README* doc/atm*
+}