diff -r aada48958b92 -r 3f841a46eab5 librazor/root.c --- a/librazor/root.c Mon Sep 08 10:26:39 2014 +0100 +++ b/librazor/root.c Fri Oct 17 10:10:57 2014 +0100 @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -125,12 +126,13 @@ /* root is file system root */ } else if (stat(root, &buf) < 0) { if (mkdir(root, 0777) < 0) { - razor_set_error(error, root, + razor_set_error(error, RAZOR_POSIX_ERROR, errno, root, "Could not create install root"); return -1; } } else if (!S_ISDIR(buf.st_mode)) { - razor_set_error(error, root, "Not a directory"); + razor_set_error(error, RAZOR_POSIX_ERROR, ENOTDIR, root, + "Not a directory"); return -1; } @@ -139,7 +141,8 @@ path = razor_path_add_root(file, root); retval = !stat(path, &buf); if (retval) { - razor_set_error(error, NULL, + razor_set_error(error, RAZOR_GENERAL_ERROR, + RAZOR_GENERAL_ERROR_DATABASE_EXISTS, NULL, "A razor install root is already initialized"); free(path); free(file); @@ -175,14 +178,16 @@ razor_root_init(); image = malloc(sizeof *image); if (image == NULL) { - razor_set_error(error, NULL, "Not enough memory"); + razor_set_error(error, RAZOR_POSIX_ERROR, ENOMEM, NULL, + "Not enough memory"); return NULL; } image->system = razor_set_create_without_root(); if (image->system == NULL) { free(image); - razor_set_error(error, NULL, "Not enough memory"); + razor_set_error(error, RAZOR_POSIX_ERROR, ENOMEM, NULL, + "Not enough memory"); return NULL; } @@ -195,7 +200,8 @@ free(lock_path); if (r < 0) { - razor_set_error(error, NULL, + razor_set_error(error, RAZOR_GENERAL_ERROR, + RAZOR_GENERAL_ERROR_DATABASE_LOCKED, NULL, "Failed to aquire exclusive system lock"); razor_set_unref(image->system); free(image); @@ -228,7 +234,8 @@ razor_root_init(); set = razor_set_create_without_root(); if (set == NULL) { - razor_set_error(error, NULL, "Not enough memory"); + razor_set_error(error, RAZOR_POSIX_ERROR, ENOMEM, NULL, + "Not enough memory"); return NULL; } @@ -237,7 +244,8 @@ free(s); if (razor_set_aquire_lock(set, path, 0) < 0) { - razor_set_error(error, NULL, + razor_set_error(error, RAZOR_GENERAL_ERROR, + RAZOR_GENERAL_ERROR_DATABASE_LOCKED, NULL, "Failed to aquire non-exclusive system lock"); free(path); razor_set_unref(set);