> Date: Sun, 27 Jan 2008 12:00:19 -0500
> From: [EMAIL PROTECTED]
> thanks for the report
> we have not built on interix in a long time
> so reports of trouble/success there are appreciated
The latest ksh93 sources configure and build without problem under Windows
Vista SUA
except for a problem in libast/misc/glob.c. However ksh93 fails to glob
correctly under
certain conditions. For example ls a*b/* fails.
The quick fix was to modify glob.c as follows (I have left out guard defines
for clarify)
to use stat together with the IFTODT macro.
#include <sys/stat.h>
#define IFTODT(mode) (((mode) & 0170000) >> 12)
#define DT_UNKNOWN 0
#define DT_DIR 4
#define DT_LNK 10
.......
static char*
gl_dirnext(glob_t* gp, void* handle)
{
struct dirent* dp;
struct stat statbuf;
int dt;
while (dp = (struct dirent*)(*gp->gl_readdir)(handle))
{
stat(dp->d_name, &statbuf);
dt = IFTODT(statbuf.st_mode);
if (dt != DT_UNKNOWN && dt != DT_DIR && dt != DT_LNK)
gp->gl_status |= GLOB_NOTDIR;
return dp->d_name;
}
return 0;
}
Seems to be some issue around the use of D_FILENO, and D_TYPE is not
supported on Interix 6.0. When I get a chance I will try and figure out
what is really going with both of these items. A more elegant fix is
probably possible :-)
Regards,
Finnbarr P. Murphy
_______________________________________________
ast-users mailing list
[email protected]
https://mailman.research.att.com/mailman/listinfo/ast-users