| 
					
				 | 
			
			
				@@ -2,34 +2,44 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include <stdio.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include <stdlib.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#define HELPMSG "USAGE: expseq LAST\n  or:  expseq FIRST LAST\n  or:  expseq --help\n"\ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "Print numbers 2^FIRST to 2^LAST in exponential steps.\n\n"\ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "If FIRST is omitted, it defaults to 0.\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 int main(int argc, char* argv[]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  int fstnum = 0, lstnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  int fstnum = 0, lstnum, i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (argc == 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	char* endptr = argv[1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	lstnum = strtol(argv[1], &endptr, 10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if (!endptr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  fprintf(stderr, "%s: non-numeric arg: %s\n", argv[0], argv[1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  return 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (strcmp(argv[1], "--help")==0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            || strcmp(argv[1], "-h")==0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          fprintf(stderr, HELPMSG); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  char* endptr = argv[1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  lstnum = strtol(argv[1], &endptr, 10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  if (!endptr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    fprintf(stderr, "%s: non-numeric arg: %s\n", argv[0], argv[1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    return 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } else if (argc == 3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	char* endptr = argv[1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	fstnum = strtol(argv[1], &endptr, 10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if (!endptr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  fprintf(stderr, "%s: non-numeric arg: %s\n", argv[0], argv[1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  return 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  return 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	endptr = argv[2]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	lstnum = strtol(argv[2], &endptr, 10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if (!endptr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  fprintf(stderr, "%s: non-numeric arg: %s\n", argv[0], argv[2]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  return 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  return 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  fprintf(stderr, "%s: missing operand\n", argv[0]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	return 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  int i = fstnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  i = fstnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   while (i <= lstnum) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	printf("%d\n", (int) pow(2, (float) i)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	i++; 
			 |