Commit 10633fd8 authored by unknown's avatar unknown

Merge bk-internal:/home/bk/mysql-5.0

into  neptunus.(none):/home/msvensson/mysql/mysql-5.0

parents 53e47e3b c3d37c2b
...@@ -384,11 +384,10 @@ MY_DIR *my_dir(const char *path, myf MyFlags) ...@@ -384,11 +384,10 @@ MY_DIR *my_dir(const char *path, myf MyFlags)
DBUG_PRINT("my",("path: '%s' stat: %d MyFlags: %d",path,MyFlags)); DBUG_PRINT("my",("path: '%s' stat: %d MyFlags: %d",path,MyFlags));
/* Put LIB-CHAR as last path-character if not there */ /* Put LIB-CHAR as last path-character if not there */
tmp_file=tmp_path; tmp_file=tmp_path;
if (!*path) if (!*path)
*tmp_file++ ='.'; /* From current dir */ *tmp_file++ ='.'; /* From current dir */
tmp_file= strmov(tmp_file,path); tmp_file= strnmov(tmp_file, path, FN_REFLEN-5);
if (tmp_file[-1] == FN_DEVCHAR) if (tmp_file[-1] == FN_DEVCHAR)
*tmp_file++= '.'; /* From current dev-dir */ *tmp_file++= '.'; /* From current dev-dir */
if (tmp_file[-1] != FN_LIBCHAR) if (tmp_file[-1] != FN_LIBCHAR)
...@@ -424,7 +423,7 @@ MY_DIR *my_dir(const char *path, myf MyFlags) ...@@ -424,7 +423,7 @@ MY_DIR *my_dir(const char *path, myf MyFlags)
if ((handle=_findfirst(tmp_path,&find)) == -1L) if ((handle=_findfirst(tmp_path,&find)) == -1L)
#endif #endif
{ {
DBUG_PRINT("info", ("find_first returned error")); DBUG_PRINT("info", ("findfirst returned error, errno: %d", errno));
if (errno != EINVAL) if (errno != EINVAL)
goto error; goto error;
/* /*
...@@ -433,6 +432,8 @@ MY_DIR *my_dir(const char *path, myf MyFlags) ...@@ -433,6 +432,8 @@ MY_DIR *my_dir(const char *path, myf MyFlags)
continue and return zero files in dir continue and return zero files in dir
*/ */
} }
else
{
do do
{ {
...@@ -467,16 +468,16 @@ MY_DIR *my_dir(const char *path, myf MyFlags) ...@@ -467,16 +468,16 @@ MY_DIR *my_dir(const char *path, myf MyFlags)
#else #else
finfo.mystat->st_size=find.size; finfo.mystat->st_size=find.size;
#endif #endif
mode=MY_S_IREAD; mode= MY_S_IREAD;
if (!(attrib & _A_RDONLY)) if (!(attrib & _A_RDONLY))
mode|=MY_S_IWRITE; mode|= MY_S_IWRITE;
if (attrib & _A_SUBDIR) if (attrib & _A_SUBDIR)
mode|=MY_S_IFDIR; mode|= MY_S_IFDIR;
finfo.mystat->st_mode=mode; finfo.mystat->st_mode= mode;
#ifdef __BORLANDC__ #ifdef __BORLANDC__
finfo.mystat->st_mtime=((uint32) find.ff_ftime); finfo.mystat->st_mtime= ((uint32) find.ff_ftime);
#else #else
finfo.mystat->st_mtime=((uint32) find.time_write); finfo.mystat->st_mtime= ((uint32) find.time_write);
#endif #endif
} }
else else
...@@ -484,14 +485,15 @@ MY_DIR *my_dir(const char *path, myf MyFlags) ...@@ -484,14 +485,15 @@ MY_DIR *my_dir(const char *path, myf MyFlags)
if (push_dynamic(dir_entries_storage, (gptr)&finfo)) if (push_dynamic(dir_entries_storage, (gptr)&finfo))
goto error; goto error;
}
#ifdef __BORLANDC__ #ifdef __BORLANDC__
} while (findnext(&find) == 0); while (findnext(&find) == 0);
#else #else
} while (_findnext(handle,&find) == 0); while (_findnext(handle,&find) == 0);
_findclose(handle); _findclose(handle);
#endif #endif
}
result->dir_entry= (FILEINFO *)dir_entries_storage->buffer; result->dir_entry= (FILEINFO *)dir_entries_storage->buffer;
result->number_off_files= dir_entries_storage->elements; result->number_off_files= dir_entries_storage->elements;
...@@ -499,6 +501,7 @@ MY_DIR *my_dir(const char *path, myf MyFlags) ...@@ -499,6 +501,7 @@ MY_DIR *my_dir(const char *path, myf MyFlags)
if (!(MyFlags & MY_DONT_SORT)) if (!(MyFlags & MY_DONT_SORT))
qsort((void *) result->dir_entry, result->number_off_files, qsort((void *) result->dir_entry, result->number_off_files,
sizeof(FILEINFO), (qsort_cmp) comp_names); sizeof(FILEINFO), (qsort_cmp) comp_names);
DBUG_PRINT(exit, ("found %d files", result->number_off_files));
DBUG_RETURN(result); DBUG_RETURN(result);
error: error:
my_errno=errno; my_errno=errno;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment