]> wimlib.net Git - wimlib/blobdiff - src/error.c
mount_image.c: add fallback definitions of RENAME_* constants
[wimlib] / src / error.c
index a4672a5644e68eb2f1adc435d87f1940a5bbb35f..ff3d00bbbbf4a8f73c86506406c66122d285fcec 100644 (file)
@@ -16,7 +16,7 @@
  * details.
  *
  * You should have received a copy of the GNU Lesser General Public License
- * along with this file; if not, see http://www.gnu.org/licenses/.
+ * along with this file; if not, see https://www.gnu.org/licenses/.
  */
 
 #ifdef HAVE_CONFIG_H
 
 #include "wimlib.h"
 #include "wimlib/error.h"
+#include "wimlib/test_support.h"
 #include "wimlib/util.h"
 #include "wimlib/win32.h"
 
-#ifdef ENABLE_ERROR_MESSAGES
 bool wimlib_print_errors = false;
 FILE *wimlib_error_file = NULL; /* Set in wimlib_global_init() */
 static bool wimlib_owns_error_file = false;
@@ -68,7 +68,7 @@ wimlib_vmsg(const tchar *tag, const tchar *format, va_list va, bool perror)
                                 T("unknown error (errno=%d)"),
                                 errno_save);
                }
-       #ifdef WIN32
+       #ifdef _WIN32
                if (errno_save == EBUSY)
                        tstrcpy(buf, T("Resource busy"));
        #endif
@@ -118,7 +118,6 @@ wimlib_warning_with_errno(const tchar *format, ...)
        wimlib_vmsg(T("\r[WARNING] "), format, va, true);
        va_end(va);
 }
-#endif /* ENABLE_ERROR_MESSAGES */
 
 void
 print_byte_field(const u8 *field, size_t len, FILE *out)
@@ -130,37 +129,27 @@ print_byte_field(const u8 *field, size_t len, FILE *out)
 WIMLIBAPI int
 wimlib_set_print_errors(bool show_error_messages)
 {
-#ifdef ENABLE_ERROR_MESSAGES
        wimlib_print_errors = show_error_messages;
-#else
-       if (show_error_messages)
-               return WIMLIB_ERR_UNSUPPORTED;
-#endif
        return 0;
 }
 
 WIMLIBAPI int
 wimlib_set_error_file(FILE *fp)
 {
-#ifdef ENABLE_ERROR_MESSAGES
        if (wimlib_owns_error_file)
                fclose(wimlib_error_file);
        wimlib_error_file = fp;
        wimlib_print_errors = (fp != NULL);
        wimlib_owns_error_file = false;
        return 0;
-#else
-       return WIMLIB_ERR_UNSUPPORTED;
-#endif
 }
 
 WIMLIBAPI int
 wimlib_set_error_file_by_name(const tchar *path)
 {
-#ifdef ENABLE_ERROR_MESSAGES
        FILE *fp;
 
-#ifdef __WIN32__
+#ifdef _WIN32
        fp = win32_open_logfile(path);
 #else
        fp = fopen(path, "a");
@@ -170,9 +159,6 @@ wimlib_set_error_file_by_name(const tchar *path)
        wimlib_set_error_file(fp);
        wimlib_owns_error_file = true;
        return 0;
-#else
-       return WIMLIB_ERR_UNSUPPORTED;
-#endif
 }
 
 static const tchar * const error_strings[] = {
@@ -181,14 +167,11 @@ static const tchar * const error_strings[] = {
        [WIMLIB_ERR_ALREADY_LOCKED]
                = T("The WIM is already locked for writing"),
        [WIMLIB_ERR_DECOMPRESSION]
-               = T("Failed to decompress compressed data"),
+               = T("The WIM contains invalid compressed data"),
        [WIMLIB_ERR_FUSE]
                = T("An error was returned by fuse_main()"),
        [WIMLIB_ERR_GLOB_HAD_NO_MATCHES]
                = T("The provided file glob did not match any files"),
-       [WIMLIB_ERR_ICONV_NOT_AVAILABLE]
-               = T("The iconv() function does not seem to work. "
-                 "Maybe check to make sure the directory /usr/lib/gconv exists"),
        [WIMLIB_ERR_IMAGE_COUNT]
                = T("Inconsistent image count among the metadata "
                        "resources, the WIM header, and/or the XML data"),
@@ -214,8 +197,6 @@ static const tchar * const error_strings[] = {
                = T("An entry in the WIM's lookup table is invalid"),
        [WIMLIB_ERR_INVALID_METADATA_RESOURCE]
                = T("The metadata resource is invalid"),
-       [WIMLIB_ERR_INVALID_MULTIBYTE_STRING]
-               = T("A string was not valid in the current locale's character encoding"),
        [WIMLIB_ERR_INVALID_OVERLAY]
                = T("Conflicting files in overlay when creating a WIM image"),
        [WIMLIB_ERR_INVALID_PARAM]
@@ -229,9 +210,9 @@ static const tchar * const error_strings[] = {
        [WIMLIB_ERR_INVALID_RESOURCE_HASH]
                = T("The SHA-1 message digest of a WIM resource did not match the expected value"),
        [WIMLIB_ERR_INVALID_UTF8_STRING]
-               = T("A string provided as input by the user was not a valid UTF-8 string"),
+               = T("A string was not a valid UTF-8 string"),
        [WIMLIB_ERR_INVALID_UTF16_STRING]
-               = T("A string in a WIM dentry is not a valid UTF-16LE string"),
+               = T("A string was not a valid UTF-16 string"),
        [WIMLIB_ERR_IS_DIRECTORY]
                = T("One of the specified paths to delete was a directory"),
        [WIMLIB_ERR_IS_SPLIT_WIM]
@@ -240,7 +221,7 @@ static const tchar * const error_strings[] = {
                = T("Failed to create a hard or symbolic link when extracting "
                        "a file from the WIM"),
        [WIMLIB_ERR_METADATA_NOT_FOUND]
-               = T("A required metadata resource could not be located"),
+               = T("The WIM does not contain image metadata; it only contains file data"),
        [WIMLIB_ERR_MKDIR]
                = T("Failed to create a directory"),
        [WIMLIB_ERR_MQUEUE]
@@ -263,7 +244,7 @@ static const tchar * const error_strings[] = {
                = T("The WIM was not captured such that it can be "
                    "applied from a pipe"),
        [WIMLIB_ERR_NTFS_3G]
-               = T("NTFS-3g encountered an error (check errno)"),
+               = T("NTFS-3G encountered an error (check errno)"),
        [WIMLIB_ERR_OPEN]
                = T("Failed to open a file"),
        [WIMLIB_ERR_OPENDIR]
@@ -332,6 +313,28 @@ static const tchar * const error_strings[] = {
                = T("The volume must be unlocked before it can be used"),
        [WIMLIB_ERR_UNABLE_TO_READ_CAPTURE_CONFIG]
                = T("The capture configuration file could not be read"),
+       [WIMLIB_ERR_WIM_IS_INCOMPLETE]
+               = T("The WIM file is incomplete"),
+       [WIMLIB_ERR_COMPACTION_NOT_POSSIBLE]
+               = T("The WIM file cannot be compacted because of its format, "
+                   "its layout, or the write parameters specified by the user"),
+       [WIMLIB_ERR_IMAGE_HAS_MULTIPLE_REFERENCES]
+               = T("The WIM image cannot be modified because it is currently "
+                   "referenced from multiple places"),
+       [WIMLIB_ERR_DUPLICATE_EXPORTED_IMAGE]
+               = T("The destination WIM already contains one of the source images"),
+       [WIMLIB_ERR_CONCURRENT_MODIFICATION_DETECTED]
+               = T("A file being added to a WIM image was concurrently modified"),
+       [WIMLIB_ERR_SNAPSHOT_FAILURE]
+               = T("Unable to create a filesystem snapshot"),
+       [WIMLIB_ERR_INVALID_XATTR]
+               = T("An extended attribute entry in the WIM image is invalid"),
+       [WIMLIB_ERR_SET_XATTR]
+               = T("Failed to set an extended attribute on an extracted file"),
+#ifdef ENABLE_TEST_SUPPORT
+       [WIMLIB_ERR_IMAGES_ARE_DIFFERENT]
+               = T("A difference was detected between the two images being compared"),
+#endif
 };
 
 WIMLIBAPI const tchar *