]> git.draconx.ca Git - cdecl99.git/commitdiff
Replace Gnulib striconv with copyright_symbol from dxcommon.
authorNick Bowler <nbowler@draconx.ca>
Sat, 27 May 2023 01:25:04 +0000 (21:25 -0400)
committerNick Bowler <nbowler@draconx.ca>
Sat, 27 May 2023 01:25:04 +0000 (21:25 -0400)
The only use of the striconv module is to produce the copyright symbol
for --version output and at the start of an interactive session.  Using
the new, single-purpose function reduces code size quite a bit.

Makefile.am
common
m4/gnulib-cache.m4
src/cdecl99.c

index 3dd5de8c912d5283cc82ba661bf01b38d63008ef..e9a16fc6d2207c633984a788aff8532a2bd5f2b6 100644 (file)
@@ -65,9 +65,13 @@ dummy $(static_gl_objects): $(gnulib_headers)
 bin_PROGRAMS = cdecl99
 cdecl99_SOURCES = common/src/help.c src/commands.c src/cdecl99.h
 cdecl99_LDADD = $(libmain_a_OBJECTS) $(libexec_a_OBJECTS) libcdecl.la \
-                libgnu.a $(LTLIBICONV) $(LTLIBINTL) $(LTLIBREADLINE)
+                libgnu.a $(LTLIBINTL) $(LTLIBREADLINE)
 $(cdecl99_OBJECTS): $(gnulib_headers)
 
+if USE_NLS
+cdecl99_SOURCES += common/src/copysym.c
+endif
+
 EXTRA_LIBRARIES += libexec.a
 libexec_a_SOURCES = src/execute.c src/commands.h
 $(libexec_a_OBJECTS): $(gnulib_headers)
diff --git a/common b/common
index 70c84546fa5ecaba26e4ed021b292a5580f304f0..207d0dbfbbfa7ad70b59ada3a741895842958885 160000 (submodule)
--- a/common
+++ b/common
@@ -1 +1 @@
-Subproject commit 70c84546fa5ecaba26e4ed021b292a5580f304f0
+Subproject commit 207d0dbfbbfa7ad70b59ada3a741895842958885
index 82646fbacf953e9d6359ef00270df7afd21c0176..3c2bb31fe27f0a82c72b2d0786ff7a84b84b2767 100644 (file)
@@ -50,7 +50,6 @@
 #  mbswidth \
 #  readline \
 #  snprintf \
-#  striconv \
 #  tls
 
 # Specification in the form of a few gnulib-tool.m4 macro invocations:
@@ -66,7 +65,6 @@ gl_MODULES([
   mbswidth
   readline
   snprintf
-  striconv
   tls
 ])
 gl_AVOID([std-gnu11])
index 015cf7a967bf3c39ba276bb2ba3b6a661af9a5d7..1da195ea0838d0d53ffbbf9fdc3d88a37cb103ca 100644 (file)
 #include <getopt.h>
 #include <gettext.h>
 #include <readline.h>
-#include <striconv.h>
 #include <localcharset.h>
 #include <mbswidth.h>
 
 #include "cdecl99.h"
 #include "cdecl.h"
 #include "help.h"
+#include "copysym.h"
 
 static const char *progname = "cdecl99";
 static bool interactive = true;
@@ -65,22 +65,13 @@ void print_error(const char *fmt, ...)
 
 static void print_version(void)
 {
-       const char *copysign = "(C)";
-       void *convsign = NULL;
-
-       if (ENABLE_NLS) {
-               convsign = str_iconv("\xc2\xa9", "UTF-8", locale_charset());
-               if (convsign)
-                       copysign = convsign;
-       }
+       const char *copysign = copyright_symbol(locale_charset());
 
        puts(PACKAGE_STRING);
        printf("Copyright %s 2023 Nick Bowler.\n", copysign);
        puts("License GPLv3+: GNU GPL version 3 or any later version.");
        puts("This is free software: you are free to change and redistribute it.");
        puts("There is NO WARRANTY, to the extent permitted by law.");
-
-       free(convsign);
 }
 
 static void print_usage(FILE *f)