RZ_API bool rz_bin_object_reset_strings(RZ_NONNULL RzBin *bin, RZ_NONNULL RzBinFile *bf, RZ_NONNULL RzBinObject *obj) {
	rz_return_val_if_fail(bin && bf && obj, false);
	RZ_FREE_CUSTOM(obj->strings, rz_bin_string_database_free);

	RzList *strings = NULL;
	RzBinPlugin *plugin = obj->plugin;
	if (plugin && plugin->strings) {
		strings = plugin->strings(bf);
	} else {
		// when a bin plugin does not provide it's own strings
		// we always take all the strings found in the binary
		// the method also converts the paddrs to vaddrs
		strings = rz_bin_file_strings(bf, bin->minstrlen, true);
	}

	if (bin->debase64) {
		bin_object_decode_all_base64_strings(strings);
	}
	REBASE_PADDR(obj, strings, RzBinString);

	// RzBinStrDb becomes the owner of the RzList strings
	obj->strings = rz_bin_string_database_new(strings);
	return obj->strings != NULL;
}
RZ_API bool rz_bin_object_reset_strings(RZ_NONNULL RzBin *bin, RZ_NONNULL RzBinFile *bf, RZ_NONNULL RzBinObject *obj) {
	rz_return_val_if_fail(bin && bf && obj, false);
	RZ_FREE_CUSTOM(obj->strings, rz_bin_string_database_free);

	RzList *strings = NULL;
	RzBinPlugin *plugin = obj->plugin;
	if (plugin && plugin->strings) {
		strings = plugin->strings(bf);
	} else {
		 
		 
		 
		strings = rz_bin_file_strings(bf, bin->minstrlen, true);
	}

	if (bin->debase64) {
		bin_object_decode_all_base64_strings(strings);
	}
	REBASE_PADDR(obj, strings, RzBinString);

	 
	obj->strings = rz_bin_string_database_new(strings);
	return obj->strings != NULL;
}