CVS commit: src/usr.bin/gettext

2015-07-12 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Jul 12 11:40:52 UTC 2015

Modified Files:
src/usr.bin/gettext: gettext.c

Log Message:
From William Orr:
- add long options
- print usage on invalid command line args


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/usr.bin/gettext/gettext.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/gettext/gettext.c
diff -u src/usr.bin/gettext/gettext.c:1.2 src/usr.bin/gettext/gettext.c:1.3
--- src/usr.bin/gettext/gettext.c:1.2	Wed Jun  3 19:15:22 2015
+++ src/usr.bin/gettext/gettext.c	Sun Jul 12 07:40:52 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: gettext.c,v 1.2 2015/06/03 23:15:22 enami Exp $	*/
+/*	$NetBSD: gettext.c,v 1.3 2015/07/12 11:40:52 christos Exp $	*/
 
 /*-
  * Copyright (c) 2015 William Orr w...@worrbase.com
@@ -26,7 +26,7 @@
  * SUCH DAMAGE.
  */
 #include sys/cdefs.h
-__RCSID($NetBSD: gettext.c,v 1.2 2015/06/03 23:15:22 enami Exp $);
+__RCSID($NetBSD: gettext.c,v 1.3 2015/07/12 11:40:52 christos Exp $);
 
 #include err.h
 #include errno.h
@@ -39,12 +39,20 @@ __RCSID($NetBSD: gettext.c,v 1.2 2015/0
 #include string.h
 #include util.h
 
+static struct option longopts[] = {
+	{ help,   no_argument,NULL,   'h' },
+	{ domain,	required_argument,  NULL,   'd' },
+	{ NULL, 0,  NULL,   '\0' },
+};
+
 static __dead void
 usage(int exit_status)
 {
 
 	fprintf(stderr, Usage: %s [-ehn] [[textdomain] msgid]\n,
 	getprogname());
+	fprintf(stderr, Usage: %s [-ehn] -d textdomain msgid\n,
+	getprogname());
 	fprintf(stderr, Usage: %s -s [msgid]...\n, getprogname());
 	exit(exit_status);
 }
@@ -140,7 +148,8 @@ main(int argc, char **argv)
 	setlocale(LC_ALL, );
 	setprogname(argv[0]);
 
-	while ((ch = getopt(argc, argv, d:EehnsV)) != -1) {
+	while ((ch = getopt_long(argc, argv, d:eEhnsV, longopts, NULL)) != -1)
+	{
 		switch (ch) {
 		case 'd':
 			msgdomain = estrdup(optarg);
@@ -173,7 +182,8 @@ main(int argc, char **argv)
 
 	if (argc == 0) {
 		free(msgdomain);
-		errx(EXIT_FAILURE, missing msgid);
+		warnx(missing msgid);
+		usage(EXIT_FAILURE);
 	}
 
 	/* msgdomain can be passed as optional arg iff -s is not passed */
@@ -184,8 +194,10 @@ main(int argc, char **argv)
 
 			argc -= 1;
 			argv += 1;
-		} else if (argc  2)
-			errx(EXIT_FAILURE, too many arguments);
+		} else if (argc  2) {
+			warnx(too many arguments);
+			usage(EXIT_FAILURE);
+		}
 	}
 
 	/* msgdomain can be passed as env var */



CVS commit: src/usr.bin/gettext

2015-06-03 Thread enami tsugutomo
Module Name:src
Committed By:   enami
Date:   Wed Jun  3 23:15:22 UTC 2015

Modified Files:
src/usr.bin/gettext: gettext.c

Log Message:
Fix expand() to process successive escape sequences correctly.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/usr.bin/gettext/gettext.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/gettext/gettext.c
diff -u src/usr.bin/gettext/gettext.c:1.1 src/usr.bin/gettext/gettext.c:1.2
--- src/usr.bin/gettext/gettext.c:1.1	Wed Jun  3 14:32:17 2015
+++ src/usr.bin/gettext/gettext.c	Wed Jun  3 23:15:22 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: gettext.c,v 1.1 2015/06/03 14:32:17 christos Exp $	*/
+/*	$NetBSD: gettext.c,v 1.2 2015/06/03 23:15:22 enami Exp $	*/
 
 /*-
  * Copyright (c) 2015 William Orr w...@worrbase.com
@@ -26,7 +26,7 @@
  * SUCH DAMAGE.
  */
 #include sys/cdefs.h
-__RCSID($NetBSD: gettext.c,v 1.1 2015/06/03 14:32:17 christos Exp $);
+__RCSID($NetBSD: gettext.c,v 1.2 2015/06/03 23:15:22 enami Exp $);
 
 #include err.h
 #include errno.h
@@ -116,6 +116,7 @@ expand(char *str)
 *sp++ = '\\';
 break;
 			}
+			continue;
 		}
 		*sp++ = *fp++;
 	}