[Glibc-bsd-commits] r2696 - trunk/glibc-ports/kfreebsd
Petr Salinger
ps-guest at alioth.debian.org
Thu Aug 6 10:53:51 UTC 2009
Author: ps-guest
Date: 2009-08-06 10:53:50 +0000 (Thu, 06 Aug 2009)
New Revision: 2696
Modified:
trunk/glibc-ports/kfreebsd/devname.c
trunk/glibc-ports/kfreebsd/sysctlbyname.c
trunk/glibc-ports/kfreebsd/sysctlnametomib.c
Log:
fix sysctlnametomib()
Modified: trunk/glibc-ports/kfreebsd/devname.c
===================================================================
--- trunk/glibc-ports/kfreebsd/devname.c 2009-08-06 09:33:43 UTC (rev 2695)
+++ trunk/glibc-ports/kfreebsd/devname.c 2009-08-06 10:53:50 UTC (rev 2696)
@@ -38,7 +38,7 @@
{
int i;
size_t j;
- char *r;
+ const char *r;
if ((type & S_IFMT) == S_IFCHR) {
j = len;
Modified: trunk/glibc-ports/kfreebsd/sysctlbyname.c
===================================================================
--- trunk/glibc-ports/kfreebsd/sysctlbyname.c 2009-08-06 09:33:43 UTC (rev 2695)
+++ trunk/glibc-ports/kfreebsd/sysctlbyname.c 2009-08-06 10:53:50 UTC (rev 2696)
@@ -24,14 +24,14 @@
int
__sysctlbyname (const char *name, void *oldval, size_t *oldlenp, void *newval, size_t newlen)
{
- int request[CTL_MAXNAME];
- size_t requestlen = sizeof (request);
+ int request[CTL_MAXNAME+2];
+ size_t requestlen = CTL_MAXNAME+2;
if (__sysctlnametomib(name, request, &requestlen) < 0)
return -1;
/* Now call sysctl using the binary encoded request. */
- return __sysctl (request, requestlen / sizeof (int),
+ return __sysctl (request, requestlen,
oldval, oldlenp, newval, newlen);
}
Modified: trunk/glibc-ports/kfreebsd/sysctlnametomib.c
===================================================================
--- trunk/glibc-ports/kfreebsd/sysctlnametomib.c 2009-08-06 09:33:43 UTC (rev 2695)
+++ trunk/glibc-ports/kfreebsd/sysctlnametomib.c 2009-08-06 10:53:50 UTC (rev 2696)
@@ -23,15 +23,16 @@
int
__sysctlnametomib (const char *name, int *mibp, size_t *sizep)
{
- int request[CTL_MAXNAME];
- size_t requestlen = sizeof (request);
-
/* Convert the string NAME to a binary encoded request. The kernel
contains a routine for doing this, called "name2oid". But the way
to call it is a little bit strange. */
int name2oid_request[2] = { 0, 3 };
- return __sysctl (name2oid_request, 2, mibp, sizep, (void *) name,
- strlen (name));
+ int retval;
+
+ *sizep *= sizeof (int);
+ retval = __sysctl (name2oid_request, 2, mibp, sizep, (void *) name, strlen (name));
+ *sizep /= sizeof (int);
+ return retval;
}
weak_alias (__sysctlnametomib, sysctlnametomib)
More information about the Glibc-bsd-commits
mailing list