Esempio n. 1
0
typedef idn_biditype_t	(*nameprep_biditypeproc)(PRUint32 v);

static struct idn_nameprep {
	char *version;
	nameprep_mapproc map_proc;
	nameprep_checkproc prohibited_proc;
	nameprep_checkproc unassigned_proc;
	nameprep_biditypeproc biditype_proc;
} nameprep_versions[] = {
#define MAKE_NAMEPREP_HANDLE(version, id) \
	{ version, \
	  compose_sym2(nameprep_map_, id), \
	  compose_sym2(nameprep_prohibited_, id), \
	  compose_sym2(nameprep_unassigned_, id), \
	  compose_sym2(nameprep_biditype_, id), }
	MAKE_NAMEPREP_HANDLE("nameprep-11", id11),
	{ NULL, NULL, NULL, NULL, NULL },
};

static idn_result_t	idn_nameprep_check(nameprep_checkproc proc,
					   const PRUint32 *str,
					   const PRUint32 **found);

idn_result_t
idn_nameprep_create(const char *version, idn_nameprep_t *handlep) {
	idn_nameprep_t handle;

	assert(handlep != NULL);

	TRACE(("idn_nameprep_create(version=%-.50s)\n",
	       version == NULL ? "<NULL>" : version));
Esempio n. 2
0
typedef idn_biditype_t	(*nameprep_biditypeproc)(unsigned long v);

static struct idn_nameprep {
	char *version;
	nameprep_mapproc map_proc;
	nameprep_checkproc prohibited_proc;
	nameprep_checkproc unassigned_proc;
	nameprep_biditypeproc biditype_proc;
} nameprep_versions[] = {
#define MAKE_NAMEPREP_HANDLE(version, id) \
	{ version, \
	  compose_sym2(nameprep_map_, id), \
	  compose_sym2(nameprep_prohibited_, id), \
	  compose_sym2(nameprep_unassigned_, id), \
	  compose_sym2(nameprep_biditype_, id), }
	MAKE_NAMEPREP_HANDLE("RFC3491", rfc3491),
	{ NULL, NULL, NULL },
};

static idn_result_t	idn_nameprep_check(nameprep_checkproc proc,
					   const unsigned long *str,
					   const unsigned long **found);

idn_result_t
idn_nameprep_create(const char *version, idn_nameprep_t *handlep) {
	idn_nameprep_t handle;

	assert(handlep != NULL);

	TRACE(("idn_nameprep_create(version=%-.50s)\n",
	       version == NULL ? "<NULL>" : version));