Files
libfprint/debian/patches/fp-print-Don-t-byte-swap-two-times-the-NBIS-array-content.patch
T
Marco Trevisan (Treviño) 4f85d9e1b3 debian/patches: Don't byte-swap two times the NBIS print array contents
Fixes virtual-image test in libfprint for s390x
2020-12-02 17:48:28 +01:00

66 lines
3.1 KiB
Diff

From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net>
Date: Wed, 2 Dec 2020 14:58:09 +0000
Subject: fp-print: Don't byte-swap two times the NBIS array contents
When serializing an image print in big endian machine we ended up
swapping the arrays contents two times, first when adding the values and
eventually when calling g_variant_byteswap which already handles this
properly.
With this, we get the test passing into s390x.
Fixes: #236
Origin: https://gitlab.freedesktop.org/libfprint/libfprint/-/commit/de271a0
---
libfprint/fp-print.c | 23 ++++++-----------------
1 file changed, 6 insertions(+), 17 deletions(-)
diff --git a/libfprint/fp-print.c b/libfprint/fp-print.c
index c485975..70775c9 100644
--- a/libfprint/fp-print.c
+++ b/libfprint/fp-print.c
@@ -667,36 +667,25 @@ fp_print_serialize (FpPrint *print,
for (i = 0; i < print->prints->len; i++)
{
struct xyt_struct *xyt = g_ptr_array_index (print->prints, i);
- gint j;
- gint32 *col = g_new (gint32, xyt->nrows);
g_variant_builder_open (&nested, G_VARIANT_TYPE ("(aiaiai)"));
- for (j = 0; j < xyt->nrows; j++)
- col[j] = GINT32_TO_LE (xyt->xcol[j]);
g_variant_builder_add_value (&nested,
g_variant_new_fixed_array (G_VARIANT_TYPE_INT32,
- col,
+ xyt->xcol,
xyt->nrows,
- sizeof (col[0])));
-
- for (j = 0; j < xyt->nrows; j++)
- col[j] = GINT32_TO_LE (xyt->ycol[j]);
+ sizeof (xyt->xcol[0])));
g_variant_builder_add_value (&nested,
g_variant_new_fixed_array (G_VARIANT_TYPE_INT32,
- col,
+ xyt->ycol,
xyt->nrows,
- sizeof (col[0])));
-
- for (j = 0; j < xyt->nrows; j++)
- col[j] = GINT32_TO_LE (xyt->thetacol[j]);
+ sizeof (xyt->ycol[0])));
g_variant_builder_add_value (&nested,
g_variant_new_fixed_array (G_VARIANT_TYPE_INT32,
- col,
+ xyt->thetacol,
xyt->nrows,
- sizeof (col[0])));
+ sizeof (xyt->thetacol[0])));
g_variant_builder_close (&nested);
- g_free (col);
}
g_variant_builder_close (&nested);