svn commit: r201161 - head/lib/libarchive

Tim Kientzle kientzle at FreeBSD.org
Tue Dec 29 05:44:40 UTC 2009


Author: kientzle
Date: Tue Dec 29 05:44:39 2009
New Revision: 201161
URL: http://svn.freebsd.org/changeset/base/201161

Log:
  Style fixes to tar reader:
    For portability, prefer int64_t to off_t.
    Improve numeric overflow handling when parsing.
    Fix some variable types.
    Eliminate some unused results.

Modified:
  head/lib/libarchive/archive_read_support_format_tar.c

Modified: head/lib/libarchive/archive_read_support_format_tar.c
==============================================================================
--- head/lib/libarchive/archive_read_support_format_tar.c	Tue Dec 29 05:41:57 2009	(r201160)
+++ head/lib/libarchive/archive_read_support_format_tar.c	Tue Dec 29 05:44:39 2009	(r201161)
@@ -159,10 +159,10 @@ struct tar {
 	wchar_t 		*pax_entry;
 	size_t			 pax_entry_length;
 	int			 header_recursion_depth;
-	off_t			 entry_bytes_remaining;
-	off_t			 entry_offset;
-	off_t			 entry_padding;
-	off_t			 realsize;
+	int64_t			 entry_bytes_remaining;
+	int64_t			 entry_offset;
+	int64_t			 entry_padding;
+	int64_t			 realsize;
 	struct sparse_block	*sparse_list;
 	struct sparse_block	*sparse_last;
 	int64_t			 sparse_offset;
@@ -509,7 +509,7 @@ archive_read_format_tar_read_data(struct
 static int
 archive_read_format_tar_skip(struct archive_read *a)
 {
-	off_t bytes_skipped;
+	int64_t bytes_skipped;
 	struct tar* tar;
 
 	tar = (struct tar *)(a->format->data);
@@ -552,7 +552,7 @@ tar_read_header(struct archive_read *a, 
 		return (bytes);
 	if (bytes < 512) {  /* Short read or EOF. */
 		/* Try requesting just one byte and see what happens. */
-		h = __archive_read_ahead(a, 1, &bytes);
+		(void)__archive_read_ahead(a, 1, &bytes);
 		if (bytes == 0) {
 			/*
 			 * The archive ends at a 512-byte boundary but
@@ -773,7 +773,7 @@ header_Solaris_ACL(struct archive_read *
 		}
 		p++;
 	}
-	switch (type & ~0777777) {
+	switch ((int)type & ~0777777) {
 	case 01000000:
 		/* POSIX.1e ACL */
 		break;
@@ -1196,7 +1196,7 @@ pax_header(struct archive_read *a, struc
     struct archive_entry *entry, char *attr)
 {
 	size_t attr_length, l, line_length;
-	char *line, *p;
+	char *p;
 	char *key, *value;
 	int err, err2;
 
@@ -1212,7 +1212,7 @@ pax_header(struct archive_read *a, struc
 		/* Parse decimal length field at start of line. */
 		line_length = 0;
 		l = attr_length;
-		line = p = attr; /* Record start of line. */
+		p = attr; /* Record start of line. */
 		while (l>0) {
 			if (*p == ' ') {
 				p++;
@@ -1630,7 +1630,7 @@ pax_time(const char *p, int64_t *ps, lon
 		digit = *p - '0';
 		if (s > limit ||
 		    (s == limit && digit > last_digit_limit)) {
-			s = UINT64_MAX;
+			s = INT64_MAX;
 			break;
 		}
 		s = (s * 10) + digit;
@@ -1929,7 +1929,7 @@ gnu_sparse_10_atol(struct archive_read *
 			return (ARCHIVE_WARN);
 		digit = *p - '0';
 		if (l > limit || (l == limit && digit > last_digit_limit))
-			l = UINT64_MAX; /* Truncate on overflow. */
+			l = INT64_MAX; /* Truncate on overflow. */
 		else
 			l = (l * base) + digit;
 		p++;
@@ -2035,7 +2035,7 @@ tar_atol8(const char *p, unsigned char_c
 	digit = *p - '0';
 	while (digit >= 0 && digit < base  && char_cnt-- > 0) {
 		if (l>limit || (l == limit && digit > last_digit_limit)) {
-			l = UINT64_MAX; /* Truncate on overflow. */
+			l = INT64_MAX; /* Truncate on overflow. */
 			break;
 		}
 		l = (l * base) + digit;
@@ -2071,7 +2071,7 @@ tar_atol10(const char *p, unsigned char_
 	digit = *p - '0';
 	while (digit >= 0 && digit < base  && char_cnt-- > 0) {
 		if (l > limit || (l == limit && digit > last_digit_limit)) {
-			l = UINT64_MAX; /* Truncate on overflow. */
+			l = INT64_MAX; /* Truncate on overflow. */
 			break;
 		}
 		l = (l * base) + digit;
@@ -2189,7 +2189,7 @@ utf8_decode(struct tar *tar, const char 
 
 	/* Ensure pax_entry buffer is big enough. */
 	if (tar->pax_entry_length <= length) {
-		wchar_t *old_entry = tar->pax_entry;
+		wchar_t *old_entry;
 
 		if (tar->pax_entry_length <= 0)
 			tar->pax_entry_length = 1024;
@@ -2217,7 +2217,7 @@ utf8_decode(struct tar *tar, const char 
 		src += n;
 		length -= n;
 	}
-	*dest++ = L'\0';
+	*dest = L'\0';
 	return (tar->pax_entry);
 }
 
@@ -2318,7 +2318,7 @@ base64_decode(const char *s, size_t len,
 
 	/* If the decode table is not yet initialized, prepare it. */
 	if (decode_table[digits[1]] != 1) {
-		size_t i;
+		unsigned i;
 		memset(decode_table, 0xff, sizeof(decode_table));
 		for (i = 0; i < sizeof(digits); i++)
 			decode_table[digits[i]] = i;


More information about the svn-src-head mailing list