From e81cdd9f3794d2b4452ae2297c43e16e3faf6f6a Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Tue, 20 Jun 2006 10:01:43 +1000 Subject: Stop map_dev from returning [0:0] We sometimes need the NULL when major==minor==0. So make sure all callers of map_dev can cope with NULL. --- util.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'util.c') diff --git a/util.c b/util.c index d54d445..2cb6dd3 100644 --- a/util.c +++ b/util.c @@ -417,12 +417,9 @@ char *map_dev(int major, int minor, int create) char *std = NULL, *nonstd=NULL; int did_check = 0; - if (major == 0 && minor == 0) { - if (!create) + if (major == 0 && minor == 0) return NULL; - else - return "0:0"; - } + retry: if (!devlist_ready) { char *dev = "/dev"; @@ -636,8 +633,12 @@ int dev_open(char *dev, int flags) char *e; int fd = -1; char devname[32]; - int major = strtoul(dev, &e, 0); + int major; int minor; + + if (!dev) return -1; + + major = strtoul(dev, &e, 0); if (e > dev && *e == ':' && e[1] && (minor = strtoul(e+1, &e, 0)) >= 0 && *e == 0) { -- cgit