Added switch for printing only succeeding syscalls.
diff --git a/strace.c b/strace.c
index 9d1f427..15aea5a 100644
--- a/strace.c
+++ b/strace.c
@@ -67,6 +67,9 @@
 int iflag = 0, xflag = 0, qflag = 0;
 int pflag_seen = 0;
 
+/* Sometimes we want to print only succeeding syscalls. */
+int not_failing_only = 0;
+
 char *username = NULL;
 uid_t run_uid;
 gid_t run_gid;
@@ -154,6 +157,7 @@
 -s strsize -- limit length of print strings to STRSIZE chars (default %d)\n\
 -S sortby -- sort syscall counts by: time, calls, name, nothing (default %s)\n\
 -u username -- run command as username handling setuid and/or setgid\n\
+-z -- print only succeeding syscalls\n\
 ", DEFAULT_ACOLUMN, DEFAULT_STRLEN, DEFAULT_SORTBY);
 	exit(exitval);
 }
@@ -190,7 +194,7 @@
 	set_sortby(DEFAULT_SORTBY);
 	set_personality(DEFAULT_PERSONALITY);
 	while ((c = getopt(argc, argv,
-		"+cdfFhiqrtTvVxa:e:o:O:p:s:S:u:")) != EOF) {
+		"+cdfFhiqrtTvVxza:e:o:O:p:s:S:u:")) != EOF) {
 		switch (c) {
 		case 'c':
 			cflag++;
@@ -234,6 +238,9 @@
 			printf("%s\n", version);
 			exit(0);
 			break;
+		case 'z':
+			not_failing_only = 1;
+			break;
 		case 'a':
 			acolumn = atoi(optarg);
 			break;