delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2001/08/28/07:12:04

X-Authentication-Warning: new-smtp2.ihug.com.au: Host p178-apx1.syd.ihug.com.au [203.173.140.178] claimed to be acceleron
Message-ID: <00a001c12fb1$862c4690$0a02a8c0@acceleron>
From: "Andrew Cottrell" <acottrel AT ihug DOT com DOT au>
To: "Charles Sandmann" <sandmann AT clio DOT rice DOT edu>, <eliz AT is DOT elta DOT co DOT il>
Cc: <djgpp-workers AT delorie DOT com>
References: <10108262123 DOT AA03260 AT clio DOT rice DOT edu>
Subject: Re: fstat patch for redirected char handles (NT/W2K/XP)
Date: Tue, 28 Aug 2001 21:06:42 +1000
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4807.1700
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700
Reply-To: djgpp-workers AT delorie DOT com

> *** fstat.c_ Fri Aug 17 19:40:32 2001
> --- fstat.c Sun Aug 26 16:17:58 2001
> *************** fstat_assist(int fhandle, struct stat *s
> *** 423,428 ****
> --- 423,431 ----
>   is_remote = 1;
>         else
>   is_remote = 0;
> +
> +       if(!have_trusted_values && dev_info == 0 && _get_dos_version(1) ==
0x532)
> +         is_dev = 1;   /* Device under NT or Win2K with pre-open/lfn
handle. */
>       }
>
>     /* First, fill the fields which are constant under DOS. */
>
Wouldn't it be better move the setting of is_dev=0 to be the else condition
of the if added in. I don't see any sense in setting is_dev=0 and then a few
lines aleter checking for Win 2K or XP etc and then setting is_dev=1. Better
to combine the setting of is_dev in the one if statement.

*** fstat_orig.c        Sun Aug 19 14:08:58 2001
--- fstat.c     Tue Aug 28 21:07:18 2001
***************
*** 418,428 ****
      }
    else
      {
-       is_dev = 0;
        if (dev_info & 0x8000)
        is_remote = 1;
        else
        is_remote = 0;
      }

    /* First, fill the fields which are constant under DOS. */
--- 418,431 ----
      }
    else
      {
        if (dev_info & 0x8000)
        is_remote = 1;
        else
        is_remote = 0;
+       if(!have_trusted_values && dev_info == 0 && _get_dos_version(1) ==
0x532)
+       is_dev = 1;   /* Device under NT or Win2K with pre-open/lfn handle.
*/
+       else
+       is_dev = 0;
      }

    /* First, fill the fields which are constant under DOS. */


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019