summaryrefslogtreecommitdiffstats
path: root/lib/consoles.c
diff options
context:
space:
mode:
authorKarel Zak2012-11-08 17:22:45 +0100
committerKarel Zak2012-11-08 17:22:45 +0100
commite0e5974fde081584861cf4ce1b8a37df26ff18f3 (patch)
tree9af60e48d7c9981dacf716d875891087258a3507 /lib/consoles.c
parentlib/consoles: minor clean ups (diff)
downloadkernel-qcow2-util-linux-e0e5974fde081584861cf4ce1b8a37df26ff18f3.tar.gz
kernel-qcow2-util-linux-e0e5974fde081584861cf4ce1b8a37df26ff18f3.tar.xz
kernel-qcow2-util-linux-e0e5974fde081584861cf4ce1b8a37df26ff18f3.zip
lib/consoles: remove global variable comparedev
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'lib/consoles.c')
-rw-r--r--lib/consoles.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/lib/consoles.c b/lib/consoles.c
index d259b8058..2e9793f0e 100644
--- a/lib/consoles.c
+++ b/lib/consoles.c
@@ -135,15 +135,13 @@ dev_t devattr(const char *tty)
#endif /* __linux__ */
/*
- * Search below /dev for the characer device in
- * the local `dev_t comparedev' variable.
+ * Search below /dev for the characer device in `dev_t comparedev' variable.
*/
-static dev_t comparedev;
static
#ifdef __GNUC__
__attribute__((__nonnull__,__malloc__,__hot__))
#endif
-char* scandev(DIR *dir)
+char* scandev(DIR *dir, dev_t comparedev)
{
char *name = NULL;
struct dirent *dent;
@@ -228,6 +226,7 @@ void consalloc(char * name)
int detect_consoles(const char *device, int fallback)
{
int fd, ret = 0;
+ dev_t comparedev = 0;
#ifdef __linux__
char *attrib, *cmdline;
FILE *fc;
@@ -293,7 +292,7 @@ int detect_consoles(const char *device, int fallback)
dir = opendir("/dev");
if (!dir)
goto fallback;
- name = scandev(dir);
+ name = scandev(dir, comparedev);
if (name)
consalloc(name);
closedir(dir);
@@ -323,7 +322,7 @@ console:
continue;
comparedev = makedev(maj, min);
- name = scandev(dir);
+ name = scandev(dir, comparedev);
if (!name)
continue;
consalloc(name);
@@ -359,7 +358,7 @@ console:
free(tmp);
}
- name = scandev(dir);
+ name = scandev(dir, comparedev);
if (!name)
continue;
consalloc(name);
@@ -435,7 +434,7 @@ console:
#endif
close(fd);
- name = scandev(dir);
+ name = scandev(dir, comparedev);
if (!name)
continue;
consalloc(name);