Minor tweaks to recently changed code
authorEric Biggers <ebiggers3@gmail.com>
Sat, 3 Oct 2015 22:27:04 +0000 (17:27 -0500)
committerEric Biggers <ebiggers3@gmail.com>
Sun, 4 Oct 2015 00:12:28 +0000 (19:12 -0500)
include/wimlib.h
src/xml.c

index e9fb0b7..6489104 100644 (file)
@@ -3137,9 +3137,10 @@ wimlib_get_image_name(const WIMStruct *wim, int image);
 /**
  * @ingroup G_wim_information
  *
- * Get a per-image property from the WIM's XML document.  This is an alternative
- * to wimlib_get_image_name() and wimlib_get_image_descripton() which allows
- * getting any simple string property.
+ * Since wimlib v1.8.3: get a per-image property from the WIM's XML document.
+ * This is an alternative to wimlib_get_image_name() and
+ * wimlib_get_image_description() which allows getting any simple string
+ * property.
  *
  * @param wim
  *     Pointer to the ::WIMStruct for the WIM.
@@ -3153,8 +3154,8 @@ wimlib_get_image_name(const WIMStruct *wim, int image);
  *     element.  The <tt>[</tt> character is reserved for future use.
  *
  * @return
- *     The property's value as a wimlib_tchar string, or @c NULL if there is no
- *     such property.  The string may not remain valid after later library
+ *     The property's value as a ::wimlib_tchar string, or @c NULL if there is
+ *     no such property.  The string may not remain valid after later library
  *     calls, so the caller should duplicate it if needed.
  */
 extern const wimlib_tchar *
@@ -3994,8 +3995,8 @@ wimlib_set_image_name(WIMStruct *wim, int image, const wimlib_tchar *name);
 /**
  * @ingroup G_modifying_wims
  *
- * Add, modify, or remove a per-image property from the WIM's XML document.
- * This is an alternative to wimlib_set_image_name(),
+ * Since wimlib v1.8.3: add, modify, or remove a per-image property from the
+ * WIM's XML document.  This is an alternative to wimlib_set_image_name(),
  * wimlib_set_image_descripton(), and wimlib_set_image_flags() which allows
  * manipulating any simple string property.
  *
index fdc3ed2..e29030c 100644 (file)
--- a/src/xml.c
+++ b/src/xml.c
@@ -667,8 +667,8 @@ xml_set_wimboot(struct wim_xml_info *info, int image)
 }
 
 /*
- * Calculate what to put in the FILECOUNT, DIRCOUNT, TOTALBYTES, and
- * HARDLINKBYTES elements of the specified WIM image.
+ * Update the DIRCOUNT, FILECOUNT, TOTALBYTES, HARDLINKBYTES, and
+ * LASTMODIFICATIONTIME elements for the specified WIM image.
  *
  * Note: since these stats are likely to be used for display purposes only, we
  * no longer attempt to duplicate WIMGAPI's weird bugs when calculating them.
@@ -684,8 +684,8 @@ xml_update_image_info(WIMStruct *wim, int image)
        u64 total_bytes = 0;
        u64 hard_link_bytes = 0;
        u64 size;
-       xmlNode *filecount_node;
        xmlNode *dircount_node;
+       xmlNode *filecount_node;
        xmlNode *totalbytes_node;
        xmlNode *hardlinkbytes_node;
        xmlNode *lastmodificationtime_node;
@@ -773,9 +773,9 @@ err:
  * Make a copy of the XML information for the image with index @src_image in the
  * @src_info XML document and append it to the @dest_info XML document.
  *
- * In the process, the image's name and description will be changed to the
- * values specified by @dest_image_name and @dest_image_description.  Either or
- * both may be NULL, which indicates that the corresponding element will not be
+ * In the process, change the image's name and description to the values
+ * specified by @dest_image_name and @dest_image_description.  Either or both
+ * may be NULL, which indicates that the corresponding element will not be
  * included in the destination image.
  */
 int
@@ -1016,10 +1016,11 @@ xml_print_image_info(struct wim_xml_info *info, int image)
  *                      Reading and writing the XML data                      *
  *----------------------------------------------------------------------------*/
 
-static unsigned
+static int
 image_node_get_index(const xmlNode *node)
 {
-       return node_get_number((const xmlNode *)xmlHasProp(node, "INDEX"), 10);
+       u64 v = node_get_number((const xmlNode *)xmlHasProp(node, "INDEX"), 10);
+       return min(v, INT_MAX);
 }
 
 /* Prepare the 'images' array from the XML document tree.  */
@@ -1027,8 +1028,8 @@ static int
 setup_images(struct wim_xml_info *info, xmlNode *root)
 {
        xmlNode *child;
-       unsigned index;
-       unsigned max_index = 0;
+       int index;
+       int max_index = 0;
        int ret;
 
        info->images = NULL;