Example #1
0
idn_result_t
idn_nameinit(int load_file) {
	idn_result_t r;

	TRACE(("idn_nameinit()\n"));

	if (initialized) {
		r = idn_success;
		goto ret;
	}

	idn_resconf_initialize();

	r = idn_resconf_create(&default_conf);
	if (r != idn_success)
		goto ret;

	if (load_file)
		r = idn_resconf_loadfile(default_conf, conf_file);
	else
		r = idn_resconf_setdefaults(default_conf);
	if (r != idn_success)
		goto ret;

	initialized = 1;

ret:
	if (r != idn_success && default_conf != NULL) {
		idn_resconf_destroy(default_conf);
		default_conf = NULL;
	}
	TRACE(("idn_nameinit(): %s\n", idn_result_tostring(r)));
	return (r);
}
Example #2
0
idn_resconf_t
idnConvInit(void)
{
	char encoding[256];
	idn_resconf_t ctx;
	idn_result_t r;
    
	idnLogReset();

	idnLogPrintf(idn_log_level_info, "idnkit version: %-.20s\n",
		     idn_version_getstring());

	/*
	 * Initialize.
	 */
	if ((r = idn_resconf_initialize()) != idn_success) {
		idnPrintf("idnConvInit: cannot initialize idn library: %s\n",
			  idn_result_tostring(r));
		return NULL;
	}
	if ((r = idn_resconf_create(&ctx)) != idn_success) {
		idnPrintf("idnConvInit: cannot create context: %s\n",
			  idn_result_tostring(r));
		return NULL;
	}
	/*
	 * load configuration file.
	 */
	if ((r = idn_resconf_loadfile(ctx, NULL)) != idn_success) {
		idnPrintf("idnConvInit: cannot read configuration file: %s\n",
			  idn_result_tostring(r));
		if ((r = idn_resconf_setdefaults(ctx)) != idn_success) {
			idnPrintf("idnConvInit: setting default configuration"
				  " failed: %s\n",
				  idn_result_tostring(r));
			idnConvDone(ctx);
			return (NULL);
		}
		idnPrintf("idnConvInit: using default configuration\n");
	}
	/*
	 * Set local codeset.
	 */
	if (idnGetPrgEncoding(encoding, sizeof(encoding)) == TRUE) {
		idnPrintf("Encoding PRG <%-.100s>\n", encoding);
		r = idn_resconf_setlocalconvertername(ctx, encoding,
						      IDN_CONVERTER_RTCHECK);
		if (r != idn_success) {
			idnPrintf("idnConvInit: invalid local codeset "
				  "\"%-.100s\": %s\n",
				  encoding, idn_result_tostring(r));
			idnConvDone(ctx);
			return NULL;
		}
	}
	return ctx;
}
Example #3
0
void
set_defaults(idn_resconf_t conf) {
	idn_result_t r;

	if ((r = idn_resconf_setdefaults(conf)) != idn_success) {
		errormsg("error setting default configuration: %s\n",
			 idn_result_tostring(r));
		exit(1);
	}
}