diff --git a/archival/bunzip2.c b/archival/bunzip2.c
index 757001f..a6cd176 100644
--- a/archival/bunzip2.c
+++ b/archival/bunzip2.c
@@ -23,7 +23,7 @@
 
 	/* Set input filename and number */
 	filename = argv[optind];
-	if ((filename) && (filename[0] != '-') && (filename[1] != '\0')) {
+	if (filename && NOT_LONE_DASH(filename)) {
 		/* Open input file */
 		src_fd = xopen(filename, O_RDONLY);
 	} else {
diff --git a/archival/gunzip.c b/archival/gunzip.c
index e24401c..c5deec3 100644
--- a/archival/gunzip.c
+++ b/archival/gunzip.c
@@ -58,7 +58,7 @@
 
 		optind++;
 
-		if (old_path == NULL || strcmp(old_path, "-") == 0) {
+		if (old_path == NULL || LONE_DASH(old_path)) {
 			src_fd = STDIN_FILENO;
 			opt |= GUNZIP_OPT_STDOUT;
 			USE_DESKTOP(opt &= ~GUNZIP_OPT_VERBOSE;)
diff --git a/archival/gzip.c b/archival/gzip.c
index c9b6753..7124e9b 100644
--- a/archival/gzip.c
+++ b/archival/gzip.c
@@ -1201,7 +1201,7 @@
 			char *path = NULL;
 
 			clear_bufs();
-			if (strcmp(argv[i], "-") == 0) {
+			if (LONE_DASH(argv[i])) {
 				time_stamp = 0;
 				inFileNum = STDIN_FILENO;
 				outFileNum = STDOUT_FILENO;
diff --git a/archival/tar.c b/archival/tar.c
index 79c3595..ba7cb0f 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -851,7 +851,7 @@
 			flags = O_RDONLY;
 		}
 
-		if (tar_filename[0] == '-' && !tar_filename[1]) {
+		if (LONE_DASH(tar_filename)) {
 			tar_handle->src_fd = fileno(tar_stream);
 			tar_handle->seek = seek_by_read;
 		} else {
diff --git a/archival/uncompress.c b/archival/uncompress.c
index 3c78961..4611790 100644
--- a/archival/uncompress.c
+++ b/archival/uncompress.c
@@ -25,7 +25,7 @@
 		int src_fd;
 		int dst_fd;
 
-		if (strcmp(compressed_file, "-") == 0) {
+		if (LONE_DASH(compressed_file)) {
 			src_fd = STDIN_FILENO;
 			flags |= GUNZIP_TO_STDOUT;
 		} else {
diff --git a/archival/unlzma.c b/archival/unlzma.c
index 46fbefd..20c4ff2 100644
--- a/archival/unlzma.c
+++ b/archival/unlzma.c
@@ -26,7 +26,7 @@
 
 	/* Set input filename and number */
 	filename = argv[optind];
-	if (filename && (filename[0] != '-') && (filename[1] != '\0')) {
+	if (filename && NOT_LONE_DASH(filename)) {
 		/* Open input file */
 		src_fd = xopen(filename, O_RDONLY);
 	} else {
diff --git a/archival/unzip.c b/archival/unzip.c
index 8b1c281..f553eef 100644
--- a/archival/unzip.c
+++ b/archival/unzip.c
@@ -187,11 +187,10 @@
 	}
 
 	/* Open input file */
-	if (strcmp("-", src_fn) == 0) {
+	if (LONE_DASH(src_fn)) {
 		src_fd = STDIN_FILENO;
 		/* Cannot use prompt mode since zip data is arriving on STDIN */
 		overwrite = (overwrite == o_prompt) ? o_never : overwrite;
-
 	} else {
 		static const char *const extn[] = {"", ".zip", ".ZIP"};
 		int orig_src_fn_len = strlen(src_fn);
