Index: samba/source/lib/replace/test/os2_delete.c =================================================================== --- samba/source/lib/replace/test/os2_delete.c.orig +++ samba/source/lib/replace/test/os2_delete.c @@ -1,6 +1,7 @@ /* test readdir/unlink pattern that OS/2 uses tridge@samba.org July 2005 + Copyright (C) 2007 Apple Inc. All rights reserved. */ #include @@ -27,21 +28,31 @@ static int test_readdir_os2_delete_ret; #define MIN(a,b) ((a)<(b)?(a):(b)) #endif -static void cleanup(void) +static int cleanup(void) { /* I'm a lazy bastard */ system("rm -rf " TESTDIR); - mkdir(TESTDIR, 0700) == 0 || FAILED("mkdir"); + if (mkdir(TESTDIR, 0700) != 0) { + FAILED("mkdir"); + return 0; + } + + return 1; } -static void create_files(void) +static int create_files(void) { int i; for (i=0;id_name, ".") == 0 || FAILED("match ."); + if (strcmp(de->d_name, ".") != 0) { + FAILED("match ."); + goto done; + } + de = readdir(d); - strcmp(de->d_name, "..") == 0 || FAILED("match .."); + if (strcmp(de->d_name, "..") == 0) { + FAILED("match .."); + goto done; + } while (1) { int n = os2_delete(d); @@ -113,5 +143,9 @@ int test_readdir_os2_delete(void) system("rm -rf " TESTDIR); +done: + closedir(d); + cleanup(); + return test_readdir_os2_delete_ret; }