Simplify a few little things, and merge in a patch from
robotti@metconnect.com so that 'ar -xv' and 'ar -x -v'
both work.
 -Erik
diff --git a/ar.c b/ar.c
index adb6982..61ce830 100644
--- a/ar.c
+++ b/ar.c
@@ -181,7 +181,7 @@
 			*head = *list;
 		
 			/* recursive check for sub-archives */
-			if ((funct & RECURSIVE) == RECURSIVE) 
+			if ( funct & RECURSIVE ) 
 		        	head = getHeaders(srcFd, head, funct);
 			lseek(srcFd, head->offset + head->size, SEEK_SET);
 		}
@@ -207,7 +207,7 @@
  */
 static int displayEntry(headerL_t *head, int funct)
 {
-	if ((funct & VERBOSE) == VERBOSE) {
+	if ( funct & VERBOSE ) {
 		printf("%s %d/%d %8d %s ", modeString(head->mode), head->uid, head->gid, head->size, timeString(head->mtime));
 	}
 	printf("%s\n", head->name);
@@ -232,22 +232,22 @@
 	while ((opt = getopt(argc, argv, "ovtpxR")) != -1) {
 		switch (opt) {
 		case 'o':
-			funct = funct | PRESERVE_DATE;
+			funct |= PRESERVE_DATE;
 			break;
 		case 'v':
-			funct = funct | VERBOSE;
+			funct |= VERBOSE;
 			break;
 		case 't':
-			funct = funct | DISPLAY;
+			funct |= DISPLAY;
 			break;
 		case 'x':
-			funct = funct | EXT_TO_FILE;
+			funct |= EXT_TO_FILE;
 			break;
 		case 'p':
-			funct = funct | EXT_TO_STDOUT;
+			funct |= EXT_TO_STDOUT;
 			break;
 		case 'R':
-			funct = funct | RECURSIVE;
+			funct |= RECURSIVE;
 			break;
 		default:
 			usage(ar_usage);
@@ -288,14 +288,14 @@
 		extractList = header;
 	
        while(extractList->next != NULL) {	
-		if ( (funct & EXT_TO_FILE) == EXT_TO_FILE) {
+		if ( funct & EXT_TO_FILE ) {
 			dstFd = open(extractList->name, O_WRONLY | O_CREAT, extractList->mode);
 			
 			extractAr(srcFd, dstFd, extractList);
 		}
-		if ( (funct & EXT_TO_STDOUT) == EXT_TO_STDOUT)	
+		if ( funct & EXT_TO_STDOUT )	
 			extractAr(srcFd, fileno(stdout), extractList);	
-		if ( (funct & DISPLAY) == DISPLAY)
+		if ( (funct & DISPLAY) || (funct & VERBOSE))
 			displayEntry(extractList, funct);
 		extractList=extractList->next;
 	}