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