X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=src%2Futil.c;h=fd14e1fedeb1c8200bd2e32ef28f40feffec662a;hb=8f071f84246b394d261ce028b87fbedf4c579c6e;hp=27e15acf3b3c20fcb492e935aaf7d45398021f6e;hpb=e3689bfa91c108ea0f5c86160bd594f98cd541a6;p=wimlib diff --git a/src/util.c b/src/util.c index 27e15acf..fd14e1fe 100644 --- a/src/util.c +++ b/src/util.c @@ -169,6 +169,10 @@ wimlib_vmsg(const tchar *tag, const tchar *format, T("unknown error (errno=%d)"), errno_save); } + #ifdef WIN32 + if (errno_save == EBUSY) + tstrcpy(buf, T("Resource busy")); + #endif tfprintf(stderr, T(": %"TS), buf); } tputc(T('\n'), stderr); @@ -282,6 +286,8 @@ static const tchar *error_strings[] = { [WIMLIB_ERR_FUSERMOUNT] = T("Could not execute the `fusermount' program, or it exited " "with a failure status"), + [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"), @@ -290,6 +296,8 @@ static const tchar *error_strings[] = { "resources, the WIM header, and/or the XML data"), [WIMLIB_ERR_IMAGE_NAME_COLLISION] = T("Tried to add an image with a name that is already in use"), + [WIMLIB_ERR_INSUFFICIENT_PRIVILEGES] + = T("The user does not have sufficient privileges"), [WIMLIB_ERR_INTEGRITY] = T("The WIM failed an integrity check"), [WIMLIB_ERR_INVALID_CAPTURE_CONFIG] @@ -333,12 +341,16 @@ static const tchar *error_strings[] = { = T("A string in a WIM dentry is not a valid UTF-16LE string"), [WIMLIB_ERR_IS_DIRECTORY] = T("One of the specified paths to delete was a directory"), + [WIMLIB_ERR_IS_SPLIT_WIM] + = T("The WIM is part of a split WIM, which is not supported for this operation"), [WIMLIB_ERR_LIBXML_UTF16_HANDLER_NOT_AVAILABLE] = T("libxml2 was unable to find a character encoding conversion handler " "for UTF-16LE"), [WIMLIB_ERR_LINK] = 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"), [WIMLIB_ERR_MKDIR] = T("Failed to create a directory"), [WIMLIB_ERR_MQUEUE] @@ -390,12 +402,8 @@ static const tchar *error_strings[] = { = T("Failed to set short name on extracted file"), [WIMLIB_ERR_SET_TIMESTAMPS] = T("Failed to set timestamps on extracted file"), - [WIMLIB_ERR_SPECIAL_FILE] - = T("Encountered a special file that cannot be archived"), [WIMLIB_ERR_SPLIT_INVALID] = T("The WIM is part of an invalid split WIM"), - [WIMLIB_ERR_SPLIT_UNSUPPORTED] - = T("The WIM is part of a split WIM, which is not supported for this operation"), [WIMLIB_ERR_STAT] = T("Could not read the metadata for a file or directory"), [WIMLIB_ERR_TIMEOUT] @@ -408,6 +416,8 @@ static const tchar *error_strings[] = { = T("The WIM file is marked with an unknown version number"), [WIMLIB_ERR_UNSUPPORTED] = T("The requested operation is unsupported"), + [WIMLIB_ERR_UNSUPPORTED_FILE] + = T("A file in the directory tree to archive was not of a supported type"), [WIMLIB_ERR_VOLUME_LACKS_FEATURES] = T("The volume did not support a feature necessary to complete the operation"), [WIMLIB_ERR_WIM_IS_READONLY] @@ -576,3 +586,10 @@ void print_byte_field(const u8 field[], size_t len, FILE *out) while (len--) tfprintf(out, T("%02hhx"), *field++); } + +#ifndef HAVE_MEMPCPY +void *mempcpy(void *dst, const void *src, size_t n) +{ + return memcpy(dst, src, n) + n; +} +#endif