svn commit: r189440 - head/lib/libarchive

Tim Kientzle kientzle at FreeBSD.org
Thu Mar 5 22:14:44 PST 2009


Author: kientzle
Date: Fri Mar  6 06:14:44 2009
New Revision: 189440
URL: http://svn.freebsd.org/changeset/base/189440

Log:
  Merge r668 from libarchive.googlecode.com:  Style correction to the
  'ar' reader:  Don't redefine 'isdigit' and don't create a macro that's
  only used once.

Modified:
  head/lib/libarchive/archive_read_support_format_ar.c

Modified: head/lib/libarchive/archive_read_support_format_ar.c
==============================================================================
--- head/lib/libarchive/archive_read_support_format_ar.c	Fri Mar  6 06:13:25 2009	(r189439)
+++ head/lib/libarchive/archive_read_support_format_ar.c	Fri Mar  6 06:14:44 2009	(r189440)
@@ -72,8 +72,6 @@ struct ar {
 #define AR_fmag_offset 58
 #define AR_fmag_size 2
 
-#define isdigit(x)	(x) >= '0' && (x) <= '9'
-
 static int	archive_read_format_ar_bid(struct archive_read *a);
 static int	archive_read_format_ar_cleanup(struct archive_read *a);
 static int	archive_read_format_ar_read_data(struct archive_read *a,
@@ -309,8 +307,10 @@ archive_read_format_ar_read_header(struc
 	/*
 	 * GNU variant handles long filenames by storing /<number>
 	 * to indicate a name stored in the filename table.
+	 * XXX TODO: Verify that it's all digits... Don't be fooled
+	 * by "/9xyz" XXX
 	 */
-	if (filename[0] == '/' && isdigit(filename[1])) {
+	if (filename[0] == '/' && filename[1] >= '0' && filename[1] <= '9') {
 		number = ar_atol10(h + AR_name_offset + 1, AR_name_size - 1);
 		/*
 		 * If we can't look up the real name, warn and return


More information about the svn-src-head mailing list