[mupen64plus-ui-console] 04/172: Imported Upstream version 1.99.3

Sven Eckelmann ecsv-guest at moszumanska.debian.org
Thu Nov 26 06:07:23 UTC 2015


This is an automated email from the git hooks/post-receive script.

ecsv-guest pushed a commit to branch armhf_test
in repository mupen64plus-ui-console.

commit 5f0e5218225fbf3c07776627ec41f31ad046ee4d
Author: Sven Eckelmann <sven.eckelmann at gmx.de>
Date:   Mon Feb 15 13:10:43 2010 +0100

    Imported Upstream version 1.99.3
---
 .hg_archival.txt                             |   2 -
 .hgtags                                      |   1 -
 README                                       |   1 +
 RELEASE                                      |   8 ++
 doc/mupen64plus.6.gz                         | Bin 1799 -> 2394 bytes
 projects/msvc8/mupen64plus-ui-console.vcproj |   4 +-
 projects/unix/Makefile                       |   5 +-
 src/core_interface.c                         |   3 +
 src/core_interface.h                         |   1 +
 src/main.c                                   | 110 ++++++++++++++--
 src/osal_files_win32.c                       | 182 +++++++++++++--------------
 src/osal_preproc.h                           |   5 +-
 src/version.h                                |   2 +-
 13 files changed, 215 insertions(+), 109 deletions(-)

diff --git a/.hg_archival.txt b/.hg_archival.txt
deleted file mode 100644
index 66b0e31..0000000
--- a/.hg_archival.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-repo: 55709704bf013181159184b83e0ab909c7d458be
-node: 8cf91241c3d4eff6b5fa8fa8f13fcc5e5cc4a89f
diff --git a/.hgtags b/.hgtags
deleted file mode 100644
index 0d88bdb..0000000
--- a/.hgtags
+++ /dev/null
@@ -1 +0,0 @@
-9c6059a764e244625ac7c8196616d8c6cd8347bf 1.99.1
diff --git a/README b/README
index 84171d1..84a7043 100644
--- a/README
+++ b/README
@@ -30,6 +30,7 @@ Parameters:
     --rsp (plugin-spec)   : use rsp plugin given by (plugin-spec)
     --emumode (mode)      : set emu mode to: 0=Pure Interpreter 1=Interpreter 2=DynaRec
     --testshots (list)    : take screenshots at frames given in comma-separated (list), then quit
+    --set (param-spec)    : set a configuration variable, format: ParamSection[ParamName]=Value
     --core-compare-send   : use the Core Comparison debugging feature, in data sending mode
     --core-compare-recv   : use the Core Comparison debugging feature, in data receiving mode
     --saveoptions         : save the given command-line options in configuration file for future
diff --git a/RELEASE b/RELEASE
index 5274d0b..eee6eb9 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,6 +1,14 @@
 Mupen64Plus-UI-Console RELEASE
 ------------------------------
 
+Mupen64Plus-UI-Console Front-End v1.99.3 - February 13, 2010
+------------------------------------------------------------
+ - New feature: command-line option --set for setting arbitrary configuration variables
+ - updated MAN pgae for all the changes made in the 2.0 re-architecture
+ - Makefile improvements:
+   - added OS type GNU/kFreeBSD
+   - add -lpthread to LIBS so that GDB will run the emulator without throwing a warning right after starting
+
 Mupen64Plus-UI-Console Front-End v1.99.2 - January 6, 2010
 ------------------------------------------------------------
  - new feature: added MSVC8 project/solution files, minor refactoring for VC compatibility
diff --git a/doc/mupen64plus.6.gz b/doc/mupen64plus.6.gz
index cb95d25..de859a9 100644
Binary files a/doc/mupen64plus.6.gz and b/doc/mupen64plus.6.gz differ
diff --git a/projects/msvc8/mupen64plus-ui-console.vcproj b/projects/msvc8/mupen64plus-ui-console.vcproj
index 0702fa9..09cb69b 100644
--- a/projects/msvc8/mupen64plus-ui-console.vcproj
+++ b/projects/msvc8/mupen64plus-ui-console.vcproj
@@ -92,7 +92,7 @@
 			<Tool
 				Name="VCPostBuildEventTool"
 				Description="Copying shared data and libraries to build directory..."
-				CommandLine="copy ..\..\..\mupen64plus-core\data\* "$(OutDir)"&#x0D;&#x0A;copy ..\..\..\mupen64plus-video-rice\data\* "$(OutDir)"&#x0D;&#x0A;copy ..\..\..\mupen64plus-win32-deps\freetype-2.3.5-1\bin\*.dll "$(OutDir)"&#x0D;&#x0A;copy ..\..\..\mupen64plus-win32-deps\libpng-1.2.37\bin\*.dll "$(OutDir)"&#x0D;&#x0A;copy ..\..\..\mupen64plus-win32-deps\SDL-1.2.14\lib\*.dll "$(OutDir)"&#x0D;&#x0A;copy ..\..\..\mupen64plus-win32-deps\zlib-1.2 [...]
+				CommandLine="copy ..\..\..\mupen64plus-core\data\* "$(OutDir)"&#x0D;&#x0A;copy ..\..\..\mupen64plus-video-rice\data\* "$(OutDir)"&#x0D;&#x0A;copy ..\..\..\mupen64plus-input-sdl\data\* "$(OutDir)"&#x0D;&#x0A;copy ..\..\..\mupen64plus-win32-deps\freetype-2.3.5-1\bin\*.dll "$(OutDir)"&#x0D;&#x0A;copy ..\..\..\mupen64plus-win32-deps\libpng-1.2.37\bin\*.dll "$(OutDir)"&#x0D;&#x0A;copy ..\..\..\mupen64plus-win32-deps\SDL-1.2.14\lib\*.dll &q [...]
 			/>
 		</Configuration>
 		<Configuration
@@ -172,7 +172,7 @@
 			<Tool
 				Name="VCPostBuildEventTool"
 				Description="Copying shared data and libraries to build directory..."
-				CommandLine="copy ..\..\..\mupen64plus-core\data\* "$(OutDir)"&#x0D;&#x0A;copy ..\..\..\mupen64plus-video-rice\data\* "$(OutDir)"&#x0D;&#x0A;copy ..\..\..\mupen64plus-win32-deps\freetype-2.3.5-1\bin\*.dll "$(OutDir)"&#x0D;&#x0A;copy ..\..\..\mupen64plus-win32-deps\libpng-1.2.37\bin\*.dll "$(OutDir)"&#x0D;&#x0A;copy ..\..\..\mupen64plus-win32-deps\SDL-1.2.14\lib\*.dll "$(OutDir)"&#x0D;&#x0A;copy ..\..\..\mupen64plus-win32-deps\zlib-1.2 [...]
+				CommandLine="copy ..\..\..\mupen64plus-core\data\* "$(OutDir)"&#x0D;&#x0A;copy ..\..\..\mupen64plus-video-rice\data\* "$(OutDir)"&#x0D;&#x0A;copy ..\..\..\mupen64plus-input-sdl\data\* "$(OutDir)"&#x0D;&#x0A;copy ..\..\..\mupen64plus-win32-deps\freetype-2.3.5-1\bin\*.dll "$(OutDir)"&#x0D;&#x0A;copy ..\..\..\mupen64plus-win32-deps\libpng-1.2.37\bin\*.dll "$(OutDir)"&#x0D;&#x0A;copy ..\..\..\mupen64plus-win32-deps\SDL-1.2.14\lib\*.dll &q [...]
 			/>
 		</Configuration>
 	</Configurations>
diff --git a/projects/unix/Makefile b/projects/unix/Makefile
index e5b2669..0bcae24 100644
--- a/projects/unix/Makefile
+++ b/projects/unix/Makefile
@@ -35,6 +35,9 @@ endif
 ifeq ("$(UNAME)","FreeBSD")
   OS = FREEBSD
 endif
+ifeq ("$(UNAME)","GNU/kFreeBSD")
+  OS = FREEBSD
+endif
 ifeq ("$(OS)","NONE")
   $(error OS type "$(UNAME)" not supported.  Please file bug report at 'http://code.google.com/p/mupen64plus/issues')
 endif
@@ -70,7 +73,7 @@ endif
 
 # base CFLAGS, LIBS, and LDFLAGS
 CFLAGS = -ffast-math -funroll-loops -fexpensive-optimizations -fno-strict-aliasing -I../../src
-LDFLAGS = -ldl
+LDFLAGS = -ldl -lpthread
 
 # set special flags per-system
 ifeq ($(OS), LINUX)
diff --git a/src/core_interface.c b/src/core_interface.c
index 1cc28ce..5726399 100644
--- a/src/core_interface.c
+++ b/src/core_interface.c
@@ -59,6 +59,7 @@ ptr_ConfigListParameters   ConfigListParameters = NULL;
 ptr_ConfigSaveFile         ConfigSaveFile = NULL;
 ptr_ConfigSetParameter     ConfigSetParameter = NULL;
 ptr_ConfigGetParameter     ConfigGetParameter = NULL;
+ptr_ConfigGetParameterType ConfigGetParameterType = NULL;
 ptr_ConfigGetParameterHelp ConfigGetParameterHelp = NULL;
 ptr_ConfigSetDefaultInt    ConfigSetDefaultInt = NULL;
 ptr_ConfigSetDefaultFloat  ConfigSetDefaultFloat = NULL;
@@ -201,6 +202,7 @@ m64p_error AttachCoreLib(const char *CoreLibFilepath)
     ConfigSaveFile = (ptr_ConfigSaveFile) osal_dynlib_getproc(CoreHandle, "ConfigSaveFile");
     ConfigSetParameter = (ptr_ConfigSetParameter) osal_dynlib_getproc(CoreHandle, "ConfigSetParameter");
     ConfigGetParameter = (ptr_ConfigGetParameter) osal_dynlib_getproc(CoreHandle, "ConfigGetParameter");
+    ConfigGetParameterType = (ptr_ConfigGetParameterType) osal_dynlib_getproc(CoreHandle, "ConfigGetParameterType");
     ConfigGetParameterHelp = (ptr_ConfigGetParameterHelp) osal_dynlib_getproc(CoreHandle, "ConfigGetParameterHelp");
     ConfigSetDefaultInt = (ptr_ConfigSetDefaultInt) osal_dynlib_getproc(CoreHandle, "ConfigSetDefaultInt");
     ConfigSetDefaultFloat = (ptr_ConfigSetDefaultFloat) osal_dynlib_getproc(CoreHandle, "ConfigSetDefaultFloat");
@@ -265,6 +267,7 @@ m64p_error DetachCoreLib(void)
     ConfigListParameters = NULL;
     ConfigSetParameter = NULL;
     ConfigGetParameter = NULL;
+    ConfigGetParameterType = NULL;
     ConfigGetParameterHelp = NULL;
     ConfigSetDefaultInt = NULL;
     ConfigSetDefaultBool = NULL;
diff --git a/src/core_interface.h b/src/core_interface.h
index 6abdf99..ba809fb 100644
--- a/src/core_interface.h
+++ b/src/core_interface.h
@@ -56,6 +56,7 @@ extern ptr_ConfigListParameters   ConfigListParameters;
 extern ptr_ConfigSaveFile         ConfigSaveFile;
 extern ptr_ConfigSetParameter     ConfigSetParameter;
 extern ptr_ConfigGetParameter     ConfigGetParameter;
+extern ptr_ConfigGetParameterType ConfigGetParameterType;
 extern ptr_ConfigGetParameterHelp ConfigGetParameterHelp;
 extern ptr_ConfigSetDefaultInt    ConfigSetDefaultInt;
 extern ptr_ConfigSetDefaultFloat  ConfigSetDefaultFloat;
diff --git a/src/main.c b/src/main.c
index 2f3f62e..b6c0bfa 100644
--- a/src/main.c
+++ b/src/main.c
@@ -193,6 +193,7 @@ static void printUsage(const char *progname)
            "    --rsp (plugin-spec)   : use rsp plugin given by (plugin-spec)\n"
            "    --emumode (mode)      : set emu mode to: 0=Pure Interpreter 1=Interpreter 2=DynaRec\n"
            "    --testshots (list)    : take screenshots at frames given in comma-separated (list), then quit\n"
+           "    --set (param-spec)    : set a configuration variable, format: ParamSection[ParamName]=Value\n"
            "    --core-compare-send   : use the Core Comparison debugging feature, in data sending mode\n"
            "    --core-compare-recv   : use the Core Comparison debugging feature, in data receiving mode\n"
            "    --saveoptions         : save the given command-line options in configuration file for future\n"
@@ -211,6 +212,90 @@ static void printUsage(const char *progname)
     return;
 }
 
+static int SetConfigParameter(const char *ParamSpec)
+{
+    char *ParsedString, *VarName, *VarValue;
+    m64p_handle ConfigSection;
+    m64p_type VarType;
+    m64p_error rval;
+
+    if (ParamSpec == NULL)
+    {
+        fprintf(stderr, "UI-Console Error: ParamSpec is NULL in SetConfigParameter()\n");
+        return 1;
+    }
+
+    /* make a copy of the input string */
+    ParsedString = (char *) malloc(strlen(ParamSpec) + 1);
+    if (ParsedString == NULL)
+    {
+        fprintf(stderr, "UI-Console Error: SetConfigParameter() couldn't allocate memory for temporary string.\n");
+        return 2;
+    }
+    strcpy(ParsedString, ParamSpec);
+
+    /* parse it for the simple section[name]=value format */
+    VarName = strchr(ParsedString, '[');
+    if (VarName != NULL)
+    {
+        *VarName++ = 0;
+        VarValue = strchr(VarName, ']');
+        if (VarValue != NULL)
+        {
+            *VarValue++ = 0;
+        }
+    }
+    if (VarName == NULL || VarValue == NULL || *VarValue != '=')
+    {
+        fprintf(stderr, "UI-Console Error: invalid (param-spec) '%s'\n", ParamSpec);
+        free(ParsedString);
+        return 3;
+    }
+    VarValue++;
+
+    /* then set the value */
+    rval = (*ConfigOpenSection)(ParsedString, &ConfigSection);
+    if (rval != M64ERR_SUCCESS)
+    {
+        fprintf(stderr, "UI-Console Error: SetConfigParameter failed to open config section '%s'\n", ParsedString);
+        free(ParsedString);
+        return 4;
+    }
+    if ((*ConfigGetParameterType)(ConfigSection, VarName, &VarType) == M64ERR_SUCCESS)
+    {
+        switch(VarType)
+        {
+            int ValueInt;
+            float ValueFloat;
+            case M64TYPE_INT:
+                ValueInt = atoi(VarValue);
+                ConfigSetParameter(ConfigSection, VarName, M64TYPE_INT, &ValueInt);
+                break;
+            case M64TYPE_FLOAT:
+                ValueFloat = (float) atof(VarValue);
+                ConfigSetParameter(ConfigSection, VarName, M64TYPE_FLOAT, &ValueFloat);
+                break;
+            case M64TYPE_BOOL:
+                ValueInt = (int) (osal_insensitive_strcmp(VarValue, "true") == 0);
+                ConfigSetParameter(ConfigSection, VarName, M64TYPE_BOOL, &ValueInt);
+                break;
+            case M64TYPE_STRING:
+                ConfigSetParameter(ConfigSection, VarName, M64TYPE_STRING, VarValue);
+                break;
+            default:
+                fprintf(stderr, "UI-Console Error: invalid VarType in SetConfigParameter()\n");
+                return 5;
+        }
+    }
+    else
+    {
+        ConfigSetParameter(ConfigSection, VarName, M64TYPE_STRING, VarValue);
+    }
+
+    free(ParsedString);
+    return 0;
+}
+
 static int *ParseNumberList(const char *InputString, int *ValuesFound)
 {
     const char *str;
@@ -378,6 +463,12 @@ static m64p_error ParseCommandLineFinal(int argc, const char **argv)
             l_TestShotList = ParseNumberList(argv[i+1], NULL);
             i++;
         }
+        else if (strcmp(argv[i], "--set") == 0 && ArgsLeft >= 1)
+        {
+            if (SetConfigParameter(argv[i+1]) != 0)
+                return M64ERR_INPUT_INVALID;
+            i++;
+        }
         else if (strcmp(argv[i], "--core-compare-send") == 0)
         {
             l_CoreCompareMode = 1;
@@ -409,8 +500,7 @@ static m64p_error ParseCommandLineFinal(int argc, const char **argv)
 
     /* missing ROM filepath */
     fprintf(stderr, "Error: no ROM filepath given\n");
-    exit(2);
-    return M64ERR_INTERNAL;
+    return M64ERR_INPUT_INVALID;
 }
 
 /*********************************************************************************************************
@@ -468,7 +558,7 @@ int main(int argc, char *argv[])
     {
         printf("UI-console: can't use --core-compare feature with this Mupen64Plus core library.\n");
         DetachCoreLib();
-        return 3;
+        return 6;
     }
     compare_core_init(l_CoreCompareMode);
 
@@ -483,7 +573,7 @@ int main(int argc, char *argv[])
         fprintf(stderr, "Error: couldn't open ROM file '%s' for reading.\n", l_ROMFilepath);
         (*CoreShutdown)();
         DetachCoreLib();
-        return 6;
+        return 7;
     }
 
     /* get the length of the ROM, allocate memory buffer, load it from disk */
@@ -498,7 +588,7 @@ int main(int argc, char *argv[])
         fclose(fPtr);
         (*CoreShutdown)();
         DetachCoreLib();
-        return 7;
+        return 8;
     }
     else if (fread(ROM_buffer, 1, romlength, fPtr) != romlength)
     {
@@ -507,7 +597,7 @@ int main(int argc, char *argv[])
         fclose(fPtr);
         (*CoreShutdown)();
         DetachCoreLib();
-        return 8;
+        return 9;
     }
     fclose(fPtr);
 
@@ -518,7 +608,7 @@ int main(int argc, char *argv[])
         free(ROM_buffer);
         (*CoreShutdown)();
         DetachCoreLib();
-        return 9;
+        return 10;
     }
     free(ROM_buffer); /* the core copies the ROM image, so we can release this buffer immediately */
 
@@ -529,7 +619,7 @@ int main(int argc, char *argv[])
         (*CoreDoCommand)(M64CMD_ROM_CLOSE, 0, NULL);
         (*CoreShutdown)();
         DetachCoreLib();
-        return 10;
+        return 11;
     }
 
     /* search for and load plugins */
@@ -539,7 +629,7 @@ int main(int argc, char *argv[])
         (*CoreDoCommand)(M64CMD_ROM_CLOSE, 0, NULL);
         (*CoreShutdown)();
         DetachCoreLib();
-        return 11;
+        return 12;
     }
 
     /* attach plugins to core */
@@ -551,7 +641,7 @@ int main(int argc, char *argv[])
             (*CoreDoCommand)(M64CMD_ROM_CLOSE, 0, NULL);
             (*CoreShutdown)();
             DetachCoreLib();
-            return 12;
+            return 13;
         }
     }
 
diff --git a/src/osal_files_win32.c b/src/osal_files_win32.c
index 92da3a9..acd112e 100644
--- a/src/osal_files_win32.c
+++ b/src/osal_files_win32.c
@@ -1,44 +1,44 @@
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- *   Mupen64plus-ui-console - osal_files_win32.c                           *
- *   Mupen64Plus homepage: http://code.google.com/p/mupen64plus/           *
- *   Copyright (C) 2009 Richard Goedeken                                   *
- *                                                                         *
- *   This program is free software; you can redistribute it and/or modify  *
- *   it under the terms of the GNU General Public License as published by  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
- *   GNU General Public License for more details.                          *
- *                                                                         *
- *   You should have received a copy of the GNU General Public License     *
- *   along with this program; if not, write to the                         *
- *   Free Software Foundation, Inc.,                                       *
- *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.          *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-/* This implements all kinds of system-dependent file handling
- *
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <windows.h>
-
-#include "m64p_types.h"
-#include "osal_preproc.h"
-#include "osal_files.h"
-
-/* definitions for system directories to search when looking for mupen64plus plugins */
-const int  osal_libsearchdirs = 1;
-const char *osal_libsearchpath[1] = { ".\\" };
-
-osal_lib_search *osal_library_search(const char *searchpath)
-{
-    osal_lib_search *head = NULL, *curr = NULL;
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ *   Mupen64plus-ui-console - osal_files_win32.c                           *
+ *   Mupen64Plus homepage: http://code.google.com/p/mupen64plus/           *
+ *   Copyright (C) 2009 Richard Goedeken                                   *
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   This program is distributed in the hope that it will be useful,       *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
+ *   GNU General Public License for more details.                          *
+ *                                                                         *
+ *   You should have received a copy of the GNU General Public License     *
+ *   along with this program; if not, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.          *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/* This implements all kinds of system-dependent file handling
+ *
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <windows.h>
+
+#include "m64p_types.h"
+#include "osal_preproc.h"
+#include "osal_files.h"
+
+/* definitions for system directories to search when looking for mupen64plus plugins */
+const int  osal_libsearchdirs = 1;
+const char *osal_libsearchpath[1] = { ".\\" };
+
+osal_lib_search *osal_library_search(const char *searchpath)
+{
+    osal_lib_search *head = NULL, *curr = NULL;
     WIN32_FIND_DATA entry;
     HANDLE hDir;
 
@@ -53,53 +53,53 @@ osal_lib_search *osal_library_search(const char *searchpath)
     free(pchSearchPath);
     if (hDir == INVALID_HANDLE_VALUE)
         return NULL;
-
-    /* look for any shared libraries in this folder */
-    do
-    {
-        osal_lib_search *newlib = NULL;
-        /* this is a .dll file, so add it to the list */
-        newlib = (osal_lib_search *) malloc(sizeof(osal_lib_search));
-        if (newlib == NULL)
-        {
-            fprintf(stderr, "Memory allocation error in osal_library_search()!\n");
-            osal_free_lib_list(head);
-            FindClose(hDir);
-            return NULL;
-        }
-        if (head == NULL)
-        {
-            head = curr = newlib;
-        }
-        else
-        {
-            curr->next = newlib;
-            curr = newlib;
-        }
-        /* set up the filepath and filename members */
-        strncpy(curr->filepath, searchpath, PATH_MAX-2);
-        curr->filepath[PATH_MAX-2] = 0;
-        if (curr->filepath[strlen(curr->filepath)-1] != '\\')
-            strcat(curr->filepath, "\\");
-        int pathlen = (int) strlen(curr->filepath);
-        curr->filename = curr->filepath + pathlen;
-        strncat(curr->filepath, entry.cFileName, PATH_MAX - pathlen - 1);
-        curr->filepath[PATH_MAX-1] = 0;
-        /* set plugin_type and next pointer */
-        curr->plugin_type = (m64p_plugin_type) 0;
-        curr->next = NULL;
-    } while (FindNextFile(hDir, &entry));
-
-    FindClose(hDir);
-    return head;
-}
-
-void osal_free_lib_list(osal_lib_search *head)
-{
-    while (head != NULL)
-    {
-        osal_lib_search *next = head->next;
-        free(head);
-        head = next;
-    }
-}
+
+    /* look for any shared libraries in this folder */
+    do
+    {
+        osal_lib_search *newlib = NULL;
+        /* this is a .dll file, so add it to the list */
+        newlib = (osal_lib_search *) malloc(sizeof(osal_lib_search));
+        if (newlib == NULL)
+        {
+            fprintf(stderr, "Memory allocation error in osal_library_search()!\n");
+            osal_free_lib_list(head);
+            FindClose(hDir);
+            return NULL;
+        }
+        if (head == NULL)
+        {
+            head = curr = newlib;
+        }
+        else
+        {
+            curr->next = newlib;
+            curr = newlib;
+        }
+        /* set up the filepath and filename members */
+        strncpy(curr->filepath, searchpath, PATH_MAX-2);
+        curr->filepath[PATH_MAX-2] = 0;
+        if (curr->filepath[strlen(curr->filepath)-1] != '\\')
+            strcat(curr->filepath, "\\");
+        int pathlen = (int) strlen(curr->filepath);
+        curr->filename = curr->filepath + pathlen;
+        strncat(curr->filepath, entry.cFileName, PATH_MAX - pathlen - 1);
+        curr->filepath[PATH_MAX-1] = 0;
+        /* set plugin_type and next pointer */
+        curr->plugin_type = (m64p_plugin_type) 0;
+        curr->next = NULL;
+    } while (FindNextFile(hDir, &entry));
+
+    FindClose(hDir);
+    return head;
+}
+
+void osal_free_lib_list(osal_lib_search *head)
+{
+    while (head != NULL)
+    {
+        osal_lib_search *next = head->next;
+        free(head);
+        head = next;
+    }
+}
diff --git a/src/osal_preproc.h b/src/osal_preproc.h
index 228bed0..2b69de0 100644
--- a/src/osal_preproc.h
+++ b/src/osal_preproc.h
@@ -34,6 +34,7 @@
   #define OSAL_DIR_SEPARATOR           '\\'
   #define OSAL_CURRENT_DIR             ".\\"
   #define OSAL_DLL_EXTENSION           ".dll"
+  #define osal_insensitive_strcmp(x, y) _stricmp(x, y)
 
 #elif defined(__APPLE__)
 
@@ -42,7 +43,8 @@
   #define OSAL_DIR_SEPARATOR           '/'
   #define OSAL_CURRENT_DIR             "./"
   #define OSAL_DLL_EXTENSION           ".dylib"
-  
+  #define osal_insensitive_strcmp(x, y) strcasecmp(x, y)
+
 #else  /* Linux-like UNIX */
 
   #include <limits.h>  // for PATH_MAX
@@ -50,6 +52,7 @@
   #define OSAL_DIR_SEPARATOR           '/'
   #define OSAL_CURRENT_DIR             "./"
   #define OSAL_DLL_EXTENSION           ".so"
+  #define osal_insensitive_strcmp(x, y) strcasecmp(x, y)
 
 #endif
 
diff --git a/src/version.h b/src/version.h
index 1d927bc..39a4575 100644
--- a/src/version.h
+++ b/src/version.h
@@ -26,7 +26,7 @@
 #if !defined(VERSION_H)
 #define VERSION_H
 
-#define CONSOLE_UI_VERSION 0x016302
+#define CONSOLE_UI_VERSION 0x016303
 #define CONSOLE_API_VERSION 0x10000
 #define CONSOLE_UI_NAME    "Mupen64Plus Console User-Interface"
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/mupen64plus-ui-console.git



More information about the Pkg-games-commits mailing list