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); }
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; }
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; }
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; }
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; }
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; }
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; }