--- extensions/libipt_connmark.c.connmark	2003-02-23 21:51:05.000000000 -0500
+++ extensions/libipt_connmark.c	2003-02-24 01:37:38.000000000 -0500
@@ -46,13 +46,13 @@
 		char *end;
 	case '1':
 		check_inverse(optarg, &invert, &optind, 0);
-		markinfo->mark = strtoul(optarg, &end, 0);
+		markinfo->mark = strtoul(argv[optind-1], &end, 0);
 		if (*end == '/') {
 			markinfo->mask = strtoul(end+1, &end, 0);
 		} else
 			markinfo->mask = 0xffffffff;
-		if (*end != '\0' || end == optarg)
-			exit_error(PARAMETER_PROBLEM, "Bad MARK value `%s'", optarg);
+		if (*end != '\0' || end == argv[optind-1])
+			exit_error(PARAMETER_PROBLEM, "Bad MARK value `%s'", argv[optind-1]);
 		if (invert)
 			markinfo->invert = 1;
 		*flags = 1;
@@ -68,7 +68,7 @@
 print_mark(unsigned long mark, unsigned long mask, int invert, int numeric)
 {
 	if (invert)
-		fputc('!', stdout);
+		fputs("! ", stdout);
 
 	if(mask != 0xffffffff)
 		printf("0x%lx/0x%lx ", mark, mask);

