Alexandre Julliard : makedep: Add a helper function to check if a string exists in an array.

Alexandre Julliard julliard at winehq.org
Thu Apr 10 12:21:28 CDT 2014


Module: wine
Branch: master
Commit: 299ce6f9f04224f72161ff7d6698de129eacb919
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=299ce6f9f04224f72161ff7d6698de129eacb919

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Apr 10 13:15:13 2014 +0200

makedep: Add a helper function to check if a string exists in an array.

---

 tools/makedep.c |   27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/tools/makedep.c b/tools/makedep.c
index a83320f..63b4de9 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -343,14 +343,23 @@ static void strarray_addall( struct strarray *array, struct strarray added )
 
 
 /*******************************************************************
- *         strarray_add_uniq
+ *         strarray_exists
  */
-static void strarray_add_uniq( struct strarray *array, const char *str )
+static int strarray_exists( struct strarray *array, const char *str )
 {
     unsigned int i;
 
-    for (i = 0; i < array->count; i++) if (!strcmp( array->str[i], str )) return;
-    strarray_add( array, str );
+    for (i = 0; i < array->count; i++) if (!strcmp( array->str[i], str )) return 1;
+    return 0;
+}
+
+
+/*******************************************************************
+ *         strarray_add_uniq
+ */
+static void strarray_add_uniq( struct strarray *array, const char *str )
+{
+    if (!strarray_exists( array, str )) strarray_add( array, str );
 }
 
 
@@ -2417,16 +2426,12 @@ static void update_makefile( const char *path )
 
     if (make->module && strendswith( make->module, ".a" )) make->staticlib = make->module;
 
-    make->use_msvcrt = 0;
-    for (i = 0; i < make->appmode.count && !make->use_msvcrt; i++)
-        make->use_msvcrt = !strcmp( make->appmode.str[i], "-mno-cygwin" );
+    make->is_win16   = strarray_exists( &make->extradllflags, "-m16" );
+    make->use_msvcrt = strarray_exists( &make->appmode, "-mno-cygwin" );
+
     for (i = 0; i < make->imports.count && !make->use_msvcrt; i++)
         make->use_msvcrt = !strncmp( make->imports.str[i], "msvcr", 5 );
 
-    make->is_win16 = 0;
-    for (i = 0; i < make->extradllflags.count && !make->is_win16; i++)
-        if (!strcmp( make->extradllflags.str[i], "-m16" )) make->is_win16 = 1;
-
     make->include_args = empty_strarray;
     make->define_args = empty_strarray;
     strarray_add( &make->define_args, "-D__WINESRC__" );




More information about the wine-cvs mailing list