home *** CD-ROM | disk | FTP | other *** search
- Subject: emx 0.8f patch #2: _dt_read() bug under DOS
-
-
- This patch fixes two problems with _dt_read() under DOS. It is to be
- applied in \emx\lib\misc. Then, you should recompile libc.a (see
- build.doc). As the bug isn't relevant under OS/2, you don't have to
- rebuild emxlibc.dll.
-
- I seem to have missed running dttest under DOS -- without these fixes,
- _dt_read() is unusable under DOS. Sorry.
-
- diff -c 1/dtread.c ./dtread.c
- *** 1/dtread.c Thu Jan 07 17:20:48 1993
- --- ./dtread.c Thu Jan 07 17:22:40 1993
- ***************
- *** 119,125 ****
- return (-1);
- if (dp->dir_pass)
- {
- ! strcpy (dp->path + path_len, "*");
- r = __findfirst (dp->path, A_DIR|A_HIDDEN|A_SYSTEM, &dp->find);
- while (r == 0)
- {
- --- 119,125 ----
- return (-1);
- if (dp->dir_pass)
- {
- ! strcpy (dp->path + path_len, "*.*");
- r = __findfirst (dp->path, A_DIR|A_HIDDEN|A_SYSTEM, &dp->find);
- while (r == 0)
- {
- ***************
- *** 164,170 ****
- data.mask = mask;
- data.flags = flags;
- data.dir_pass = 1;
- ! if ((strcmp (mask, "*") == 0 || strcmp (mask, "*.*") == 0))
- data.dir_pass = 0;
- data.attr = A_HIDDEN | A_SYSTEM;
- if (!data.dir_pass)
- --- 164,171 ----
- data.mask = mask;
- data.flags = flags;
- data.dir_pass = 1;
- ! if (strcmp (mask, "*.*") == 0
- ! || (_osmode == OS2_MODE && strcmp (mask, "*") == 0))
- data.dir_pass = 0;
- data.attr = A_HIDDEN | A_SYSTEM;
- if (!data.dir_pass)
- diff -c 1/dtsplit.c ./dtsplit.c
- *** 1/dtsplit.c Thu Jan 07 17:32:26 1993
- --- ./dtsplit.c Thu Jan 07 17:32:26 1993
- ***************
- *** 35,41 ****
- return (-1);
- }
- strcpy (path_buf + 2, src);
- ! strcpy (mask_buf, "*");
- old_dir[0] = drive;
- old_dir[1] = ':';
- if (_getcwd1 (old_dir+2, drive) != 0)
- --- 35,41 ----
- return (-1);
- }
- strcpy (path_buf + 2, src);
- ! strcpy (mask_buf, "*.*");
- old_dir[0] = drive;
- old_dir[1] = ':';
- if (_getcwd1 (old_dir+2, drive) != 0)
-
- Eberhard Mattes (mattes@azu.informatik.uni-stuttgart.de)
-