X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lib%2Fsupport%2Fprofile.c;h=f54739e7bf0af5ba6d64942ec74278f6c1c360c4;hb=59eed5421c2ccb262d31c08e6d07535d76fe5688;hp=c4528c8e2f9b04cab774cf3242004d6724a47413;hpb=1dc16b0b95622c5d44cde86e6ab8a835f88ae522;p=tools%2Fe2fsprogs.git diff --git a/lib/support/profile.c b/lib/support/profile.c index c4528c8..f54739e 100644 --- a/lib/support/profile.c +++ b/lib/support/profile.c @@ -58,6 +58,7 @@ #endif #include #include +#include #include #include #include @@ -300,9 +301,9 @@ errout: } errcode_t -profile_init(const char **files, profile_t *ret_profile) +profile_init(const char * const *files, profile_t *ret_profile) { - const char **fs; + const char * const *fs; profile_t profile; prf_file_t new_file, *last; errcode_t retval = 0; @@ -1092,6 +1093,7 @@ errcode_t profile_create_node(const char *name, const char *value, if (!new) return ENOMEM; memset(new, 0, sizeof(struct profile_node)); + new->magic = PROF_MAGIC_NODE; new->name = strdup(name); if (new->name == 0) { profile_free_node(new); @@ -1104,14 +1106,13 @@ errcode_t profile_create_node(const char *name, const char *value, return ENOMEM; } } - new->magic = PROF_MAGIC_NODE; *ret_node = new; return 0; } /* - * This function verifies that all of the representation invarients of + * This function verifies that all of the representation invariants of * the profile are true. If not, we have a programming bug somewhere, * probably in this file. */ @@ -1361,7 +1362,7 @@ errcode_t profile_node_iterator(void **iter_p, struct profile_node **ret_node, } get_new_file: if (iter->node == 0) { - if (iter->file == 0 || + if (iter->file == NULL || (iter->flags & PROFILE_ITER_FINAL_SEEN)) { profile_iterator_free(iter_p); if (ret_node) @@ -1375,7 +1376,8 @@ get_new_file: if ((retval = profile_update_file(iter->file))) { if (retval == ENOENT || retval == EACCES) { /* XXX memory leak? */ - iter->file = iter->file->next; + if (iter->file) + iter->file = iter->file->next; skip_num = 0; retval = 0; goto get_new_file; @@ -1404,7 +1406,8 @@ get_new_file: iter->flags |= PROFILE_ITER_FINAL_SEEN; } if (!section) { - iter->file = iter->file->next; + if (iter->file) + iter->file = iter->file->next; skip_num = 0; goto get_new_file; } @@ -1434,13 +1437,15 @@ get_new_file: } iter->num++; if (!p) { - iter->file = iter->file->next; + if (iter->file) + iter->file = iter->file->next; iter->node = 0; skip_num = 0; goto get_new_file; } if ((iter->node = p->next) == NULL) - iter->file = iter->file->next; + if (iter->file) + iter->file = iter->file->next; if (ret_node) *ret_node = p; if (ret_name)