]> wimlib.net Git - wimlib/blobdiff - src/util.c
NTFS capture updates
[wimlib] / src / util.c
index e5b0d9e7ad586728387a06dd18f7c1f5515707f6..8f4e0c0be53756db28ef2974d43de4b1f08b8b3e 100644 (file)
@@ -127,6 +127,8 @@ static const char *error_strings[] = {
                = "Tried to add an image with a name that is already in use",
        [WIMLIB_ERR_INTEGRITY] 
                = "The WIM failed an integrity check",
+       [WIMLIB_ERR_INVALID_CAPTURE_CONFIG]
+               = "The capture configuration string was invalid",
        [WIMLIB_ERR_INVALID_CHUNK_SIZE] 
                = "The WIM is compressed but does not have a chunk "
                        "size of 32768",
@@ -141,6 +143,8 @@ 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]
@@ -163,8 +167,6 @@ 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] 
@@ -265,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");
@@ -427,8 +429,13 @@ const char *path_basename(const char *path)
        p--;
 
        /* Trailing slashes. */
-       while ((p != path - 1) && *p == '/')
+       while (1) {
+               if (p == path - 1)
+                       return "";
+               if (*p != '/')
+                       break;
                p--;
+       }
 
        while ((p != path - 1) && *p != '/')
                p--;