[gimp] libgimpconfig: add weird hack to gimp_scanner_parse_float()



commit 81bb3237ef2d4b2c09195aca634f36e0dedbda88
Author: Michael Natterer <mitch gimp org>
Date:   Sun Aug 18 18:17:19 2019 +0200

    libgimpconfig: add weird hack to gimp_scanner_parse_float()
    
    because for whatever reason, writing
    
    *dest = -scanner->value.v_int;
    
    fails and writes some positive value instead.

 libgimpconfig/gimpscanner.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)
---
diff --git a/libgimpconfig/gimpscanner.c b/libgimpconfig/gimpscanner.c
index cfa8d843c0..f3c3632226 100644
--- a/libgimpconfig/gimpscanner.c
+++ b/libgimpconfig/gimpscanner.c
@@ -620,12 +620,22 @@ gimp_scanner_parse_float (GimpScanner *scanner,
     }
   else if (g_scanner_peek_next_token (scanner) == G_TOKEN_INT)
     {
+      /* use a temp value because for whatever reason writing
+       *
+       * *dest = -scanner->value.v_int;
+       *
+       * fails.
+       */
+      gint64 int_value;
+
       g_scanner_get_next_token (scanner);
 
       if (negate)
-        *dest = -scanner->value.v_int;
+        int_value = -scanner->value.v_int;
       else
-        *dest = scanner->value.v_int;
+        int_value = scanner->value.v_int;
+
+      *dest = int_value;
 
       return TRUE;
     }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]