--- ./dnsmap.c	2009-02-27 10:54:05.000000000 +0100
+++ dnsmap.c.new	2009-02-28 14:58:01.000000000 +0100
@@ -31,7 +31,8 @@
 #define MAXSTRSIZE 	100
 #define BANNER 		"dnsmap 0.22.1 - DNS Network Mapper by pagvac (gnucitizen.org)\n\n"
 #define USAGE 		"usage: dnsmap <target-domain> [options]\noptions:\n"\
-			"-w <wordlist-file>\n-r <results-path>\n"
+			"-w <wordlist-file>\n-r <results-path>\n"\
+			"-fw - forcewildcard exit\n"
 #define EXAMPLES 	"i.e.:\ndnsmap target-domain.foo\n"\
 			"dnsmap target-domain.foo -w yourwordlist.txt -r /tmp/\n"\
 			"dnsmap target-fomain.foo -r ./\n\n"
@@ -77,7 +78,7 @@
 
 int main(unsigned int argc, char *argv[]) {
 
-	unsigned short int i=0, j=0, found=0, ipCount=0, wordlist=FALSE, results=FALSE;
+	unsigned short int i=0, j=0, found=0, ipCount=0, wordlist=FALSE, results=FALSE, forcewildcard=FALSE;
 	char dom[MAXSTRSIZE]={'\0'}, logFile[MAXSTRSIZE]={'\0'}, 
 		logFile2[MAXSTRSIZE]={'\0'}, wordlistFile[MAXSTRSIZE]={'\0'};
 		
@@ -122,6 +123,10 @@
 			wordlist=TRUE;
 			strncpy(wordlistFile, argv[(i+1)],MAXSTRSIZE);
 		}
+		// dont exit when wildcard detected
+		if(!strcmp(argv[i],"-fw")) {
+			forcewildcard=TRUE;
+		}
 	}
 
 	// read subdomains from built-in list
@@ -129,7 +134,7 @@
 		//fpLogs=fopen(logFile, "a");
 
 		// wildcard detection
-		if(wildcarddetect(argv[1])) {
+		if(wildcarddetect(argv[1]) && (forcewildcard!=TRUE)) {
 			printf("%s",WILDCARDERR);	
 			exit(1);
 		}
@@ -175,7 +180,7 @@
 	else if(wordlist) {
                 
 		// wildcard detection
-                if(wildcarddetect(argv[1])) {
+                if(wildcarddetect(argv[1]) && (forcewildcard!=TRUE)) {
 			printf("%s",WILDCARDERR);                        
 			exit(1);
                 }
