summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cpukit/ChangeLog6
-rw-r--r--cpukit/libnetworking/kern/kern_sysctl.c5
-rw-r--r--cpukit/libnetworking/sys/sysctl.h2
3 files changed, 10 insertions, 3 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog
index 1f15503e6a..8b066423e0 100644
--- a/cpukit/ChangeLog
+++ b/cpukit/ChangeLog
@@ -1,3 +1,9 @@
+2004-12-02 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * libnetworking/kern/kern_sysctl.c,
+ libnetworking/sys/sysctl.h: Add SYSCTL_CHILDREN_SET
+ (Update from FreeBSD for GCC-4.0.0).
+
2004-12-02 Joel Sherrill <joel@OARcorp.com>
* libnetworking/kern/kern_sysctl.c, libnetworking/netinet/ip_mroute.c,
diff --git a/cpukit/libnetworking/kern/kern_sysctl.c b/cpukit/libnetworking/kern/kern_sysctl.c
index 0fb1bc0a97..82a9171653 100644
--- a/cpukit/libnetworking/kern/kern_sysctl.c
+++ b/cpukit/libnetworking/kern/kern_sysctl.c
@@ -392,9 +392,8 @@ sysctl_add_oid(struct sysctl_ctx_list *clist, struct sysctl_oid_list *parent,
oidp->oid_kind = CTLFLAG_DYN | kind;
if ((kind & CTLTYPE) == CTLTYPE_NODE) {
/* Allocate space for children */
- /* Later accessed by macro SYSCTL_CHILDREN(oidp) */
- oidp->oid_arg1 = malloc(sizeof(struct sysctl_oid_list),
- M_SYSCTLOID, M_WAITOK);
+ SYSCTL_CHILDREN_SET(oidp, malloc(sizeof(struct sysctl_oid_list),
+ M_SYSCTLOID, M_WAITOK));
SLIST_INIT(SYSCTL_CHILDREN(oidp));
} else {
oidp->oid_arg1 = arg1;
diff --git a/cpukit/libnetworking/sys/sysctl.h b/cpukit/libnetworking/sys/sysctl.h
index a613d22bb9..3306298a12 100644
--- a/cpukit/libnetworking/sys/sysctl.h
+++ b/cpukit/libnetworking/sys/sysctl.h
@@ -180,6 +180,8 @@ void sysctl_unregister_oid(struct sysctl_oid *oidp);
/* Hide these in macros */
#define SYSCTL_CHILDREN(oid_ptr) (struct sysctl_oid_list *) \
(oid_ptr)->oid_arg1
+#define SYSCTL_CHILDREN_SET(oid_ptr, val) \
+ (oid_ptr)->oid_arg1 = (val);
#define SYSCTL_STATIC_CHILDREN(oid_name) \
(&sysctl_##oid_name##_children)