A bugfix from Danny Lepage:
    It seems that under busybox unstable, "tar -c -f - blabla" create
    a tar file named "-" instead of writing to stdout.

    The included patch should fix this.
diff --git a/archival/tar.c b/archival/tar.c
index d8889ae..48d6ce2 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -474,7 +474,7 @@
 	}
 
 	/* Open the tar file for writing.  */
-	if (tarName == NULL) {
+	if (tarName == NULL || (tarName[0] == '-' && tarName[1] == '\0')) {
 		tbInfo.tarFd = fileno(stdout);
 		tbInfo.verboseFlag = verboseFlag ? 2 : 0;
 	} else {