[gnome-video-arcade] mame: Adapt to version output change in v0.170



commit ff0691c1627c5180295c0ab599ca6986fc55a166
Author: Matthew Barnes <mbarnes redhat com>
Date:   Thu Jan 28 18:37:03 2016 -0500

    mame: Adapt to version output change in v0.170
    
    Parsing change required for "mame -help".
    
    v0.170:
    MAME v0.xxx (Mmm dd yyyy)
    
    v0.169 and prior:
    M.A.M.E. v0.xxx (Mmm dd yyyy) - Multiple Arcade Machine Emulator

 src/gva-mame.c |   27 +++++++++++++++++----------
 1 files changed, 17 insertions(+), 10 deletions(-)
---
diff --git a/src/gva-mame.c b/src/gva-mame.c
index 83e410e..1da4d0d 100644
--- a/src/gva-mame.c
+++ b/src/gva-mame.c
@@ -184,27 +184,34 @@ gva_mame_get_version (GError **error)
 
         /* Output is as follows:
          *
+         * (v0.170 and later)
+         *
+         * MAME v0.xxx (Mmm dd yyy)
+         * Copyright Nicola Salmoria and the MAME team
+         *
+         * (v0.169 and prior)
+         *
          * M.A.M.E. v0.xxx (Mmm dd yyyy) - Multiple Arcade Machine Emulator
-         * Copyright (x) 1997-2007 by Nicola Salmoria and the MAME Team
+         * Copyright Nicola Salmoria and the MAME team
          * ...
          */
 
         if (lines == NULL || lines[0] == NULL)
+        {
+                g_set_error (
+                        error, GVA_ERROR, GVA_ERROR_MAME,
+                        _("Could not determine emulator version"));
                 goto exit;
+        }
 
-        cp = strstr (lines[0], " - Multiple Arcade Machine Emulator");
+        version = g_strstrip (g_strdup (lines[0]));
+
+        /* Adjust for v0.169 and prior. */
+        cp = strstr (version, " - Multiple Arcade Machine Emulator");
         if (cp != NULL)
-        {
                 *cp = '\0';
-                version = g_strdup (lines[0]);
-        }
 
 exit:
-        if (version == NULL)
-                g_set_error (
-                        error, GVA_ERROR, GVA_ERROR_MAME,
-                        _("Could not determine emulator version"));
-
         g_strfreev (lines);
 
         return version;


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