Move conf_line and free_line from conf.c to lib.c
As they are uses for mdstat as well as mdadm.conf, they don't really belong in conf.c This removes a dependency between mdmon and conf.c Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
parent
b76dc29975
commit
d0c017a663
39
config.c
39
config.c
|
@ -108,45 +108,6 @@ int match_keyword(char *word)
|
|||
return -1;
|
||||
}
|
||||
|
||||
/*
|
||||
* conf_line reads one logical line from the conffile.
|
||||
* It skips comments and continues until it finds a line that starts
|
||||
* with a non blank/comment. This character is pushed back for the next call
|
||||
* A doubly linked list of words is returned.
|
||||
* the first word will be a keyword. Other words will have had quotes removed.
|
||||
*/
|
||||
|
||||
char *conf_line(FILE *file)
|
||||
{
|
||||
char *w;
|
||||
char *list;
|
||||
|
||||
w = conf_word(file, 1);
|
||||
if (w == NULL) return NULL;
|
||||
|
||||
list = dl_strdup(w);
|
||||
free(w);
|
||||
dl_init(list);
|
||||
|
||||
while ((w = conf_word(file,0))){
|
||||
char *w2 = dl_strdup(w);
|
||||
free(w);
|
||||
dl_add(list, w2);
|
||||
}
|
||||
/* printf("got a line\n");*/
|
||||
return list;
|
||||
}
|
||||
|
||||
void free_line(char *line)
|
||||
{
|
||||
char *w;
|
||||
for (w=dl_next(line); w != line; w=dl_next(line)) {
|
||||
dl_del(w);
|
||||
dl_free(w);
|
||||
}
|
||||
dl_free(line);
|
||||
}
|
||||
|
||||
struct conf_dev {
|
||||
struct conf_dev *next;
|
||||
char *name;
|
||||
|
|
40
lib.c
40
lib.c
|
@ -23,6 +23,7 @@
|
|||
*/
|
||||
|
||||
#include "mdadm.h"
|
||||
#include "dlink.h"
|
||||
#include <ctype.h>
|
||||
|
||||
/* This fill contains various 'library' style function. They
|
||||
|
@ -407,3 +408,42 @@ unsigned long GCD(unsigned long a, unsigned long b)
|
|||
}
|
||||
return a;
|
||||
}
|
||||
|
||||
/*
|
||||
* conf_line reads one logical line from the conffile or mdstat.
|
||||
* It skips comments and continues until it finds a line that starts
|
||||
* with a non blank/comment. This character is pushed back for the next call
|
||||
* A doubly linked list of words is returned.
|
||||
* the first word will be a keyword. Other words will have had quotes removed.
|
||||
*/
|
||||
|
||||
char *conf_line(FILE *file)
|
||||
{
|
||||
char *w;
|
||||
char *list;
|
||||
|
||||
w = conf_word(file, 1);
|
||||
if (w == NULL) return NULL;
|
||||
|
||||
list = dl_strdup(w);
|
||||
free(w);
|
||||
dl_init(list);
|
||||
|
||||
while ((w = conf_word(file,0))){
|
||||
char *w2 = dl_strdup(w);
|
||||
free(w);
|
||||
dl_add(list, w2);
|
||||
}
|
||||
/* printf("got a line\n");*/
|
||||
return list;
|
||||
}
|
||||
|
||||
void free_line(char *line)
|
||||
{
|
||||
char *w;
|
||||
for (w=dl_next(line); w != line; w=dl_next(line)) {
|
||||
dl_del(w);
|
||||
dl_free(w);
|
||||
}
|
||||
dl_free(line);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue