Example #1
0
File: genkey.c Project: zixia/wmail
int gpg_genkey(const char *gpgdir, const struct unicode_info *charset,
	       const char *name,
	       const char *addr,
	       const char *comment,
	       int skeylen,
	       int ekeylen,
	       unsigned expire,
	       char expire_unit,
	       const char *passphrase,
	       int (*dump_func)(const char *, size_t, void *),
	       int (*timeout_func)(void *),
	       void *voidarg)
{
	char *name_u, *addr_u, *comment_u;
	char *argvec[4];
	int rc;

	name_u=toutf8(charset, name);
	if (!name_u)
		return (-1);

	addr_u=toutf8(charset, addr);
	if (!addr_u)
	{
		free(name_u);
		return (-1);
	}

	comment_u=toutf8(charset, comment);
	if (!comment_u)
		return (-1);


	argvec[0]="gpg";
	argvec[1]="--gen-key";
	argvec[2]="--batch";
	argvec[3]=NULL;

	if (gpg_fork(&gpg_stdin, &gpg_stdout, NULL, gpgdir, argvec) < 0)
		rc= -1;
	else
	{
		int rc2;

		rc=dogenkey(name_u, addr_u, comment_u,
			    skeylen, ekeylen, expire, expire_unit,
			    passphrase,
			    dump_func, timeout_func, voidarg);
		rc2=gpg_cleanup();
		if (rc2)
			rc=rc2;
	}
	free(comment_u);
	free(name_u);
	free(addr_u);
	return (rc);
}
Example #2
0
EXPORT BOOL WINAPI mhsp_SWFFont(SWFFont *p1, char *name, int p3, int p4)
{
	lstrcpy(funcname, "SWFFont");
	FILE *font = fopen(name, "rb");
	if (font) {
		if (fgetc(font) != 'f' || fgetc(font) != 'd' ||
			 fgetc(font) != 'b' || fgetc(font) != '0')
		{
			return -1;
		}
		fseek(font, 0, SEEK_SET);
		*p1 = loadSWFFontFromFile(font);
		fclose(font);
	}
	else {
		unsigned char *out;
		out = toutf8(name);
		*p1 = (SWFFont)newSWFBrowserFont((char *)out);	/* 本当は違うけど */
		free(out);
	}
	if (!mhsp_font) {
		mhsp_font = *p1;
	}
	return 0;
}
Example #3
0
EXPORT BOOL WINAPI c_addUTF8Chars(void *p1, char *string, int p3, int p4)
{
	unsigned char *out;
	lstrcpy(funcname, "c_addUTF8Chars");
	out = toutf8(string);
	SWFFontCharacter_addUTF8Chars(mhsp_character, (char *)out);
	free(out);
	return 0;
}
Example #4
0
EXPORT BOOL WINAPI tf_addUTF8String(void *p1, char *string, int p3, int p4)
{
	unsigned char *out;
	lstrcpy(funcname, "tf_addUTF8String");
	out = toutf8(string);
	SWFTextField_addUTF8String(mhsp_field, (char *)out);
	free(out);
	return 0;
}
Example #5
0
EXPORT BOOL WINAPI fnt_getUTF8Width(float *p1, char *string, int p3, int p4)
{
	unsigned char *out;
	lstrcpy(funcname, "fnt_getUTF8Width");
	out = toutf8(string);
	*p1 = SWFFont_getUTF8StringWidth(mhsp_font, out);
	free(out);
	return 0;
}
Example #6
0
EXPORT BOOL WINAPI tf_addString(void *p1, char *string, int p3, int p4)
{
#ifdef JAMING
	unsigned char *out;
	lstrcpy(funcname, "tf_addString");
	out = toutf8(string);
	SWFTextField_addString(mhsp_field, (char *)out);
	free(out);
#else
	lstrcpy(funcname, "tf_addString");
	SWFTextField_addString(mhsp_field, string);
#endif
	return 0;
}
Example #7
0
EXPORT BOOL WINAPI fnt_getWidth(float *p1, char *string, int p3, int p4)
{
#ifdef JAMING
	unsigned char *out;
	lstrcpy(funcname, "fnt_getWidth");
	out = toutf8(string);
	*p1 = SWFFont_getStringWidth(mhsp_font, (char *)out);
	free(out);
#else
	lstrcpy(funcname, "fnt_getWidth");
	*p1 = SWFFont_getStringWidth(mhsp_font, (unsigned char *)string);
#endif
	return 0;
}