static char *get_key(int index) { UTF16 c_key[PLAINTEXT_LENGTH + 1]; int length = inbuffer[index].length; memcpy(c_key, inbuffer[index].v, 2 * length); c_key[length] = 0; return (char*)utf16_to_enc(c_key); }
static char *get_key(int index) { static UTF16 u16[PLAINTEXT_LENGTH + 1]; static UTF8 out[3 * PLAINTEXT_LENGTH + 1]; int i, len = saved_idx[index + 1] - saved_idx[index]; UTF8 *key = (UTF8*)&saved_key[saved_idx[index]]; for (i = 0; i < len; i++) out[i] = *key++; out[i] = 0; /* Ensure we truncate just like the GPU conversion does */ enc_to_utf16(u16, PLAINTEXT_LENGTH, (UTF8*)out, len); return (char*)utf16_to_enc(u16); }
static char *get_key(int index) { return (char*) utf16_to_enc(&((UTF16*) saved_key)[index * PLAINTEXT_LENGTH]); }