You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by sh...@apache.org on 2008/04/08 14:29:35 UTC

svn commit: r645874 - in /webservices/axis2/trunk/c/util: include/platforms/windows/axutil_dir_windows.h include/platforms/windows/axutil_windows.h src/minizip/archive_extract.c src/platforms/windows/dir_windows.c

Author: shankar
Date: Tue Apr  8 05:29:34 2008
New Revision: 645874

URL: http://svn.apache.org/viewvc?rev=645874&view=rev
Log:
applying patch for issue AXIS2C-1104. thank you danushka

Modified:
    webservices/axis2/trunk/c/util/include/platforms/windows/axutil_dir_windows.h
    webservices/axis2/trunk/c/util/include/platforms/windows/axutil_windows.h
    webservices/axis2/trunk/c/util/src/minizip/archive_extract.c
    webservices/axis2/trunk/c/util/src/platforms/windows/dir_windows.c

Modified: webservices/axis2/trunk/c/util/include/platforms/windows/axutil_dir_windows.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/include/platforms/windows/axutil_dir_windows.h?rev=645874&r1=645873&r2=645874&view=diff
==============================================================================
--- webservices/axis2/trunk/c/util/include/platforms/windows/axutil_dir_windows.h (original)
+++ webservices/axis2/trunk/c/util/include/platforms/windows/axutil_dir_windows.h Tue Apr  8 05:29:34 2008
@@ -1,123 +1,123 @@
 
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef READDIR_H
-#define READDIR_H
-#include <search.h>
-#include <string.h>
-#include <io.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <windows.h>
-#include <axutil_utils_defines.h>
-
-
-/* struct dirent - same as Unix dirent.h */
-struct dirent
-{
-    

long d_ino;           /* inode number (always 1 in WIN32) */
-    

off_t d_off;          /* offset to this dirent */
-    

unsigned short d_reclen;  /* length of d_name */
-    

char d_name[_MAX_FNAME + 1];  /* filename (null terminated) */
-    
-    /*unsigned char      d_type; *//*type of file */
-};
-



-
-/* def struct DIR - different from Unix DIR */
-typedef struct
-{
-    

long handle;          /* _findfirst/_findnext handle */
-    

short offset;         /* offset into directory */
-    

short finished;       /* 1 if there are not more files */
-    

struct _finddata_t fileinfo;  /* from _findfirst/_findnext */
-    

char *dirname;        /* the dir we are reading */
-    

struct dirent dent;   /* the dirent to return */
-    


-}
-
DIR;
-


-
-/* Function prototypes */
-
-
-/**
-  * open a directory on a given name
-  * returns a DIR if successful, or NULL if the path cannot be opened
-  */
-AXIS2_EXTERN DIR * AXIS2_CALL
-
 opendir(const char *);
-


-
-/**
-  * Close the directory stream DIRP.
-  * Return 0 if successful, -1 otherwise.
-  */
-AXIS2_EXTERN int AXIS2_CALL
-
 closedir(
-    
DIR *);
-


-
-/**
-  * Read a directory entry from DIRP.  Return a pointer to a `struct
-  * dirent' describing the entry, or NULL for EOF or error.
-  */
-AXIS2_EXTERN struct dirent *AXIS2_CALL
-            
 
readdir(
-                
DIR *);
-


-
-/**
-  * Reentrant version of `readdir'
-  */
-AXIS2_EXTERN int AXIS2_CALL
-
 
readdir_r(
-    
DIR *,
-    
struct dirent *,
-    
struct dirent **);
-


-
-/**
-  * Rewind DIRP to the beginning of the directory.
-  */
-AXIS2_EXTERN int AXIS2_CALL
-
 rewinddir(
-    
DIR *);
-


-
-/**
-  * Scan the directory DIR
-  *  Returns the number of entries selected, or -1 on error
-  */
-AXIS2_EXTERN int AXIS2_CALL
-
 
scandir(
-    
const char *_dirname,
-    
struct dirent **__namelist[],
-    
int(*selector)(const struct dirent * entry),
-    
int(*compare)(const struct dirent ** a,
-            
const struct dirent ** b));
-


-
-/**
-  * Compare two `struct dirent's alphabetically
-  */
-extern int 
alphasort(
-        
const struct dirent **__d1,
-        
const struct dirent **__d2);
-

-#endif  /* READDIR_H */
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef READDIR_H
+#define READDIR_H
+#include <search.h>
+#include <string.h>
+#include <io.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <windows.h>
+#include <axutil_utils_defines.h>
+
+
+/* struct dirent - same as Unix dirent.h */
+struct dirent
+{
+    long d_ino;           /* inode number (always 1 in WIN32) */
+    off_t d_off;          /* offset to this dirent */
+    unsigned short d_reclen;  /* length of d_name */
+    char d_name[_MAX_FNAME + 1];  /* filename (null terminated) */
+    
+    /*unsigned char      d_type; *//*type of file */
+};
+
+
+/* def struct DIR - different from Unix DIR */
+typedef struct
+{
+    long handle;          /* _findfirst/_findnext handle */
+    short offset;         /* offset into directory */
+    short finished;       /* 1 if there are not more files */
+    struct _finddata_t fileinfo;  /* from _findfirst/_findnext */
+    char *dirname;        /* the dir we are reading */
+    struct dirent dent;   /* the dirent to return */
+    
+}
+AXIS2_DIR;
+
+
+/* Function prototypes */
+
+
+/**
+  * open a directory on a given name
+  * returns a DIR if successful, or NULL if the path cannot be opened
+  */
+AXIS2_EXTERN AXIS2_DIR * AXIS2_CALL
+ axis2_opendir(const char *);
+
+
+/**
+  * Close the directory stream DIRP.
+  * Return 0 if successful, -1 otherwise.
+  */
+AXIS2_EXTERN int AXIS2_CALL
+ axis2_closedir(
+    AXIS2_DIR *);
+
+
+/**
+  * Read a directory entry from DIRP.  Return a pointer to a `struct
+  * dirent' describing the entry, or NULL for EOF or error.
+  */
+AXIS2_EXTERN struct dirent *AXIS2_CALL
+             axis2_readdir(
+                AXIS2_DIR *);
+
+
+/**
+  * Reentrant version of `readdir'
+  */
+AXIS2_EXTERN int AXIS2_CALL
+ axis2_readdir_r(
+    AXIS2_DIR *,
+    struct dirent *,
+    struct dirent **);
+
+
+/**
+  * Rewind DIRP to the beginning of the directory.
+  */
+AXIS2_EXTERN int AXIS2_CALL
+ axis2_rewinddir(
+    AXIS2_DIR *);
+
+
+/**
+  * Scan the directory DIR
+  *  Returns the number of entries selected, or -1 on error
+  */
+AXIS2_EXTERN int AXIS2_CALL
+ axis2_scandir(
+    const char *_dirname,
+    struct dirent **__namelist[],
+    int(*selector)(const struct dirent * entry),
+    int(*compare)(const struct dirent ** a,
+            const struct dirent ** b));
+
+
+/**
+  * Compare two `struct dirent's alphabetically
+  */
+extern int alphasort(
+        const struct dirent **__d1,
+        const struct dirent **__d2);
+
+#endif  /* READDIR_H */

Modified: webservices/axis2/trunk/c/util/include/platforms/windows/axutil_windows.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/include/platforms/windows/axutil_windows.h?rev=645874&r1=645873&r2=645874&view=diff
==============================================================================
--- webservices/axis2/trunk/c/util/include/platforms/windows/axutil_windows.h (original)
+++ webservices/axis2/trunk/c/util/include/platforms/windows/axutil_windows.h Tue Apr  8 05:29:34 2008
@@ -204,13 +204,13 @@
     /**
     * windows specific directory handling functions
     */
-#define AXIS2_SCANDIR      scandir
+#define AXIS2_SCANDIR      axis2_scandir
 #define AXIS2_ALPHASORT      alphasort
-#define AXIS2_OPENDIR      opendir
-#define AXIS2_CLOSEDIR      closedir
-#define AXIS2_READDIR      readdir
-#define AXIS2_READDIR_R      readdir_r
-#define AXIS2_REWINDDIR      rewinddir
+#define AXIS2_OPENDIR      axis2_opendir
+#define AXIS2_CLOSEDIR      axis2_closedir
+#define AXIS2_READDIR      axis2_readdir
+#define AXIS2_READDIR_R      axis2_readdir_r
+#define AXIS2_REWINDDIR      axis2_rewinddir
 #define AXIS2_MKDIR(path,x)  _mkdir(path)
 #define AXIS2_GETCWD      _getcwd
 #define AXIS2_CHDIR      _chdir

Modified: webservices/axis2/trunk/c/util/src/minizip/archive_extract.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/src/minizip/archive_extract.c?rev=645874&r1=645873&r2=645874&view=diff
==============================================================================
--- webservices/axis2/trunk/c/util/src/minizip/archive_extract.c (original)
+++ webservices/axis2/trunk/c/util/src/minizip/archive_extract.c Tue Apr  8 05:29:34 2008
@@ -315,8 +315,13 @@
      i;
     axis2_char_t *ptr;
 
-    n = scandir(".", &namelist, 0, alphasort);
-    if (n < 0)
+#ifdef WIN32
+	n = axis2_scandir(".", &namelist, 0, alphasort);
+#else
+	n = scandir(".", &namelist, 0, alphasort);
+#endif
+
+	if (n < 0)
         return AXIS2_FALSE;
     else
     {

Modified: webservices/axis2/trunk/c/util/src/platforms/windows/dir_windows.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/src/platforms/windows/dir_windows.c?rev=645874&r1=645873&r2=645874&view=diff
==============================================================================
--- webservices/axis2/trunk/c/util/src/platforms/windows/dir_windows.c (original)
+++ webservices/axis2/trunk/c/util/src/platforms/windows/dir_windows.c Tue Apr  8 05:29:34 2008
@@ -24,11 +24,11 @@
 
 /*dirent.h style mehtods for win32*/
 
-DIR *AXIS2_CALL
-opendir(
+AXIS2_DIR *AXIS2_CALL
+axis2_opendir(
     const char *_dirname)
 {
-    DIR *dirp;
+    AXIS2_DIR *dirp;
     char *filespec;
     long handle;
     int index;
@@ -42,7 +42,7 @@
         filespec[index] = '\0';
     strcat(filespec, "/*");
 
-    dirp = (DIR *) malloc(sizeof(DIR));
+    dirp = (AXIS2_DIR *) malloc(sizeof(AXIS2_DIR));
     dirp->offset = 0;
     dirp->finished = 0;
 
@@ -67,8 +67,8 @@
 }
 
 int AXIS2_CALL
-closedir(
-    DIR * _dirp)
+axis2_closedir(
+    AXIS2_DIR * _dirp)
 {
     int iret = -1;
     if (!_dirp)
@@ -83,8 +83,8 @@
 }
 
 struct dirent *AXIS2_CALL
-readdir(
-    DIR * _dirp)
+axis2_readdir(
+    AXIS2_DIR * _dirp)
 {
     if (!_dirp || _dirp->finished)
         return NULL;
@@ -108,8 +108,8 @@
 }
 
 int AXIS2_CALL
-readdir_r(
-    DIR * _dirp,
+axis2_readdir_r(
+    AXIS2_DIR * _dirp,
     struct dirent *_entry,
     struct dirent **__result)
 {
@@ -143,8 +143,8 @@
 }
 
 int AXIS2_CALL
-rewinddir(
-    DIR * dirp)
+axis2_rewinddir(
+    AXIS2_DIR * dirp)
 {
     char *filespec;
     long handle;
@@ -183,14 +183,14 @@
 }
 
 int AXIS2_CALL
-scandir(
+axis2_scandir(
     const char *_dirname,
     struct dirent **__namelist[],
     int (*selector) (const struct dirent * entry),
     int (*compare) (const struct dirent ** __d1,
                     const struct dirent ** __d2))
 {
-    DIR *dirp = NULL;
+    AXIS2_DIR *dirp = NULL;
     struct dirent **vector = NULL;
     struct dirent *dp = NULL;
     int vector_size = 0;
@@ -200,12 +200,12 @@
     {
         return -1;
     }
-    dirp = opendir(_dirname);
+    dirp = axis2_opendir(_dirname);
     if (!dirp)
     {
         return -1;
     }
-    dp = readdir(dirp);
+    dp = axis2_readdir(dirp);
     while (dp)
     {
         int dsize = 0;
@@ -213,7 +213,7 @@
 
         if (selector && (*selector) (dp) == 0)
         {
-            dp = readdir(dirp);
+            dp = axis2_readdir(dirp);
             continue;
         }
 
@@ -257,10 +257,10 @@
         }
 
         vector[nfiles++] = (struct dirent *) memcpy(newdp, dp, dsize);
-        dp = readdir(dirp);
+        dp = axis2_readdir(dirp);
     }
 
-    closedir(dirp);
+    axis2_closedir(dirp);
 
     *__namelist = vector;
 



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org