enum digest_format_e gui_get_digest_format(void) { enum digest_format_e format = gtk_combo_box_get_active(gui.dialog_combobox); g_assert(DIGEST_FORMAT_IS_VALID(format)); return format; }
// Returns a digest string represented in the requested format const char *gtkhash_digest_get_data(struct digest_s *digest, const enum digest_format_e format) { g_assert(digest); g_assert(DIGEST_FORMAT_IS_VALID(format)); return digest->data[format]; }
static void load_digest_format(GKeyFile *keyfile) { GError *error = NULL; int format = g_key_file_get_integer(keyfile, "digest", "format", &error); if (error) { g_error_free(error); return; } if (DIGEST_FORMAT_IS_VALID(format)) gui_set_digest_format(format); }
void gtkhash_hash_string(struct hash_func_s *funcs, const char *str, const enum digest_format_e format) { g_assert(str); g_assert(DIGEST_FORMAT_IS_VALID(format)); for (int i = 0; i < HASH_FUNCS_N; i++) { if (!funcs[i].enabled) continue; gtkhash_hash_lib_start(&funcs[i]); // Assuming this won't take too long gtkhash_hash_lib_update(&funcs[i], (const uint8_t *)str, strlen(str)); gtkhash_hash_lib_finish(&funcs[i]); const char *digest = gtkhash_hash_func_get_digest(&funcs[i], format); gtkhash_hash_string_finish_cb(funcs[i].id, digest); } }
static void load_digest_format(void) { char *str = g_settings_get_string(prefs_priv.settings, PREFS_KEY_DIGEST_FORMAT); if (!str) return; enum digest_format_e format = DIGEST_FORMAT_INVALID; if (strcmp(str, "hex-lower") == 0) format = DIGEST_FORMAT_HEX_LOWER; else if (strcmp(str, "hex-upper") == 0) format = DIGEST_FORMAT_HEX_UPPER; else if (strcmp(str, "base64") == 0) format = DIGEST_FORMAT_BASE64; g_free(str); if (DIGEST_FORMAT_IS_VALID(format)) gui_set_digest_format(format); }
void gui_set_digest_format(const enum digest_format_e format) { g_assert(DIGEST_FORMAT_IS_VALID(format)); gtk_combo_box_set_active(gui.dialog_combobox, format); }