summaryrefslogtreecommitdiff
path: root/packages/busybox/busybox-1.01/below.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/busybox/busybox-1.01/below.patch')
-rw-r--r--packages/busybox/busybox-1.01/below.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/packages/busybox/busybox-1.01/below.patch b/packages/busybox/busybox-1.01/below.patch
new file mode 100644
index 0000000000..ec97b29962
--- /dev/null
+++ b/packages/busybox/busybox-1.01/below.patch
@@ -0,0 +1,49 @@
+Index: modutils/modprobe.c
+===================================================================
+RCS file: /var/cvs/busybox/modutils/modprobe.c,v
+retrieving revision 1.41
+diff -u -r1.41 modprobe.c
+--- busybox/modutils/modprobe.c 24 Sep 2004 09:18:55 -0000 1.41
++++ busybox/modutils/modprobe.c 29 Dec 2004 11:56:07 -0000
+@@ -357,6 +357,41 @@
+ }
+ }
+ }
++ else if ((strncmp (buffer, "below", 5) == 0) && isspace (buffer[5])) {
++ char *mod, *deps;
++ if (parse_tag_value (buffer + 6, &mod, &deps)) {
++ struct dep_t *dt;
++
++ for (dt = first; dt; dt = dt->m_next) {
++ if (strcmp (dt->m_name, mod) == 0)
++ break;
++ }
++ if (dt) {
++ char *pp;
++ char *name;
++
++ pp = name = deps;
++
++ for (;;) {
++ while (*pp != 0 && !isspace (*pp))
++ pp++;
++ if (isspace (*pp))
++ *(pp++) = 0;
++
++ dt->m_depcnt++;
++ dt->m_deparr = (char **) xrealloc (dt->m_deparr,
++ sizeof (char *) * dt->m_depcnt);
++ dt->m_deparr[dt->m_depcnt - 1] = bb_xstrdup (name);
++
++ while (isspace (*pp))
++ pp++;
++ name = pp;
++ if (*pp == 0)
++ break;
++ }
++ }
++ }
++ }
+ }
+ }
+ close ( fd );