diff options
author | bde <bde@FreeBSD.org> | 1999-09-13 12:29:32 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1999-09-13 12:29:32 +0000 |
commit | 5fbd95466cc7159018fb8d55864a955373bffd97 (patch) | |
tree | 36f60d2dec419534015d1d1e9f893de74b993e6a /sys/kern/kern_conf.c | |
parent | ad7d5e0e01aad87115442a7aac072c1ff28f34bd (diff) | |
download | FreeBSD-src-5fbd95466cc7159018fb8d55864a955373bffd97.zip FreeBSD-src-5fbd95466cc7159018fb8d55864a955373bffd97.tar.gz |
Const'ify devtoname() and d_name. This exposes some errors (2 non-benign).
Handle negative minor numbers properly in devtoname().
Diffstat (limited to 'sys/kern/kern_conf.c')
-rw-r--r-- | sys/kern/kern_conf.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c index 325c7ef..43c026c 100644 --- a/sys/kern/kern_conf.c +++ b/sys/kern/kern_conf.c @@ -357,10 +357,11 @@ remove_dev(dev_t dev) freedev(dev); } -char * +const char * devtoname(dev_t dev) { char *p; + int mynor; if (dev->si_name[0] == '#' || dev->si_name[0] == '\0') { p = dev->si_name; @@ -369,8 +370,11 @@ devtoname(dev_t dev) else sprintf(p, "#%d/", major(dev)); p += strlen(p); - sprintf(p, minor(dev) > 255 ? "0x%x" : "%d", minor(dev)); + mynor = minor(dev); + if (mynor < 0 || mynor > 255) + sprintf(p, "%#x", (u_int)mynor); + else + sprintf(p, "%d", mynor); } return (dev->si_name); } - |