]> git.ipfire.org Git - people/pmueller/ipfire-3.x.git/blobdiff - net-tools/patches/net-tools-1.60-nameif.patch
Move all packages to root.
[people/pmueller/ipfire-3.x.git] / net-tools / patches / net-tools-1.60-nameif.patch
diff --git a/net-tools/patches/net-tools-1.60-nameif.patch b/net-tools/patches/net-tools-1.60-nameif.patch
new file mode 100644 (file)
index 0000000..7ba1f00
--- /dev/null
@@ -0,0 +1,67 @@
+--- net-tools-1.60/nameif.c.nameif     2000-10-18 19:26:29.000000000 +0200
++++ net-tools-1.60/nameif.c    2003-03-19 11:02:01.000000000 +0100
+@@ -3,7 +3,7 @@
+  * Writen 2000 by Andi Kleen.
+  * Subject to the Gnu Public License, version 2.  
+  * TODO: make it support token ring etc.
+- * $Id: nameif.c,v 1.1 2000/10/18 17:26:29 ak Exp $
++ * $Id: nameif.c,v 1.3 2003/03/06 23:26:52 ecki Exp $
+  */ 
+ #ifndef _GNU_SOURCE 
+ #define _GNU_SOURCE
+@@ -117,7 +117,8 @@
+ }
+ struct change { 
+-      struct change *next,**pprev;
++      struct change *next;
++      int found;
+       char ifname[IFNAMSIZ+1];
+       unsigned char mac[6];
+ }; 
+@@ -139,10 +140,7 @@
+                       ch->ifname, pos); 
+       if (parsemac(p,ch->mac) < 0) 
+               complain(_("cannot parse MAC `%s' at %s"), p, pos); 
+-      if (clist) 
+-              clist->pprev = &ch->next;
+       ch->next = clist;
+-      ch->pprev = &clist;
+       clist = ch;
+       return 0; 
+ }
+@@ -200,7 +198,7 @@
+ void usage(void)
+ {
+-      fprintf(stderr, _("usage: nameif [-c configurationfile] [-s] {ifname macaddress}")); 
++      fprintf(stderr, _("usage: nameif [-c configurationfile] [-s] {ifname macaddress}\n")); 
+       exit(1); 
+ }
+@@ -277,21 +275,21 @@
+               ch = lookupmac(mac); 
+               if (!ch) 
+                       continue;
+-                      
+-              *ch->pprev = ch->next;
++              
++              ch->found = 1;  
+               if (strcmp(p, ch->ifname)) { 
+                       if (setname(p, ch->ifname) < 0)  
+                               complain(_("cannot change name of %s to %s: %s"),
+                                               p, ch->ifname, strerror(errno)); 
+               } 
+-              free(ch);
+       } 
+       fclose(ifh); 
+       
+       while (clist) { 
+               struct change *ch = clist;
+               clist = clist->next;
+-              warning(_("interface '%s' not found"), ch->ifname); 
++              if (!ch->found)
++                      warning(_("interface '%s' not found"), ch->ifname); 
+               free(ch); 
+       }