X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Futil.c;h=1e134f7ad29f7ae75ec44799e9f6b1f22f9c0a91;hp=c229b5a64c9cb0f2c475de8906eea0894fd2648e;hb=f7d48eea9e1a6a9620ee7d8e883a6505939c7777;hpb=038eaccece575d04de8d647bb93773b7f3e38ce4 diff --git a/src/util.c b/src/util.c index c229b5a6..1e134f7a 100644 --- a/src/util.c +++ b/src/util.c @@ -25,6 +25,8 @@ #include "wimlib_internal.h" #include "endianness.h" #include "sha1.h" +#include "timestamp.h" +#include #include @@ -49,7 +51,7 @@ void wimlib_error(const char *format, ...) va_start(va, format); errno_save = errno; - fputs("ERROR: ", stderr); + fputs("[ERROR] ", stderr); vfprintf(stderr, format, va); putc('\n', stderr); errno = errno_save; @@ -65,7 +67,7 @@ void wimlib_error_with_errno(const char *format, ...) va_start(va, format); errno_save = errno; - fputs("ERROR: ", stderr); + fputs("[ERROR] ", stderr); vfprintf(stderr, format, va); fprintf(stderr, ": %s\n", strerror(errno_save)); errno = errno_save; @@ -81,7 +83,7 @@ void wimlib_warning(const char *format, ...) va_start(va, format); errno_save = errno; - fputs("WARNING: ", stderr); + fputs("[WARNING] ", stderr); vfprintf(stderr, format, va); putc('\n', stderr); errno = errno_save; @@ -139,8 +141,12 @@ static const char *error_strings[] = { = "Tried to select an image that does not exist in the WIM", [WIMLIB_ERR_INVALID_INTEGRITY_TABLE] = "The WIM's integrity table is invalid", + [WIMLIB_ERR_INVALID_LOOKUP_TABLE_ENTRY] + = "An entry in the WIM's lookup table is invalid", [WIMLIB_ERR_INVALID_PARAM] = "An invalid parameter was given", + [WIMLIB_ERR_INVALID_RESOURCE_HASH] + = "The SHA1 message digest of a WIM resource did not match the expected value", [WIMLIB_ERR_INVALID_RESOURCE_SIZE] = "A resource entry in the WIM is invalid", [WIMLIB_ERR_LINK] @@ -159,6 +165,8 @@ static const char *error_strings[] = { "identify a WIM file", [WIMLIB_ERR_NO_FILENAME] = "The WIM is not identified with a filename", + [WIMLIB_ERR_NOT_ROOT] + = "Root privileges are required for this operation", [WIMLIB_ERR_NTFS_3G] = "NTFS-3g encountered an error (check errno)", [WIMLIB_ERR_OPEN] @@ -167,8 +175,12 @@ static const char *error_strings[] = { = "Failed to open a directory", [WIMLIB_ERR_READ] = "Could not read data from a file", + [WIMLIB_ERR_READLINK] + = "Could not read the target of a symbolic link", [WIMLIB_ERR_RENAME] = "Could not rename a file", + [WIMLIB_ERR_SPECIAL_FILE] + = "Encountered a special file that cannot be archived", [WIMLIB_ERR_SPLIT_INVALID] = "The WIM is part of an invalid split WIM", [WIMLIB_ERR_SPLIT_UNSUPPORTED] @@ -255,7 +267,7 @@ static iconv_t cd_utf16_to_utf8 = (iconv_t)(-1); /* Converts a string in the UTF-16 encoding to a newly allocated string in the * UTF-8 encoding. */ char *utf16_to_utf8(const char *utf16_str, size_t utf16_len, - size_t *utf8_len_ret) + size_t *utf8_len_ret) { if (cd_utf16_to_utf8 == (iconv_t)(-1)) { cd_utf16_to_utf8 = iconv_open("UTF-8", "UTF-16LE"); @@ -383,10 +395,8 @@ void randomize_char_array_with_alnum(char p[], size_t n) } /* Fills @n bytes pointer to by @p with random numbers. */ -void randomize_byte_array(void *__p, size_t n) +void randomize_byte_array(u8 *p, size_t n) { - u8 *p = __p; - if (!seeded) { srand(time(NULL)); seeded = true; @@ -501,3 +511,12 @@ void print_string(const void *string, size_t len) p++; } } + +u64 get_wim_timestamp() +{ + struct timeval tv; + gettimeofday(&tv, NULL); + return timeval_to_wim_timestamp(&tv); +} + +