#endif
#include <time.h>
#include <string.h>
+#include <strings.h>
#include <errno.h>
#include <ctype.h>
#include <limits.h>
}
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;
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);
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.
*/
}
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)
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;
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;
}
}
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)