+/* A wrapper around iconv_open */
+static iconv_t
+create_iconv (const char* tocode, const char* fromcode)
+{
+ iconv_t conv = iconv_open (tocode, fromcode);
+
+ /* I don't think it's safe to translate this string or to use messaging
+ as the convertors have not yet been set up */
+ if ( (iconv_t) -1 == conv && 0 != strcmp (tocode, fromcode))
+ {
+ const int err = errno;
+ fprintf (stderr,
+ "Warning: cannot create a convertor for \"%s\" to \"%s\": %s\n",
+ fromcode, tocode, strerror (err));
+ }
+
+ return conv;
+}