Displaying 3 results from an estimated 3 matches for "_hivex_release_iconv".
2018 Feb 09
3
[PATCH] Add a cache for iconv_t handles to hive_t
...uot;);
+ else if (t == utf16le_to_utf8)
+ h->iconv_cache[t].handle = iconv_open ("UTF-8", "UTF-16LE");
+ } else {
+ /* reinitialize iconv context */
+ iconv (h->iconv_cache[t].handle, NULL, 0, NULL, 0);
+ }
+ return h->iconv_cache[t].handle;
+}
+
+void
+_hivex_release_iconv (hive_h *h, recode_type t)
+{
+ pthread_mutex_unlock (&h->iconv_cache[t].mutex);
+}
+
hive_h *
hivex_open (const char *filename, int flags)
{
@@ -164,11 +193,17 @@ hivex_open (const char *filename, int flags)
goto error;
}
+ for (int t=0; t<3; t++) {
+ pthread_mutex_init...
2018 Feb 09
0
Re: [PATCH] Add a cache for iconv_t handles to hive_t
...h->iconv_cache[t].handle = iconv_open ("UTF-8", "UTF-16LE");
> + } else {
> + /* reinitialize iconv context */
> + iconv (h->iconv_cache[t].handle, NULL, 0, NULL, 0);
> + }
> + return h->iconv_cache[t].handle;
> +}
> +
> +void
> +_hivex_release_iconv (hive_h *h, recode_type t)
> +{
> + pthread_mutex_unlock (&h->iconv_cache[t].mutex);
> +}
> +
> hive_h *
> hivex_open (const char *filename, int flags)
> {
> @@ -164,11 +193,17 @@ hivex_open (const char *filename, int flags)
> goto error;
> }
>...
2018 Feb 09
2
[PATCH] Add a cache for iconv_t handles to hive_t
...uot;);
+ else if (t == utf16le_to_utf8)
+ h->iconv_cache[t].handle = iconv_open ("UTF-8", "UTF-16LE");
+ } else {
+ /* reinitialize iconv context */
+ iconv (h->iconv_cache[t].handle, NULL, 0, NULL, 0);
+ }
+ return h->iconv_cache[t].handle;
+}
+
+void
+_hivex_release_iconv (hive_h *h, recode_type t)
+{
+ glthread_lock_unlock (&h->iconv_cache[t].mutex);
+}
+
hive_h *
hivex_open (const char *filename, int flags)
{
@@ -164,11 +192,17 @@ hivex_open (const char *filename, int flags)
goto error;
}
+ for (int t=0; t<3; t++) {
+ glthread_lock_init...