RE: Can we declare a variable as 'int' in the driver -???

I think we have all made this mistake multiple times. That’s why it is
always easier to see it in someone else’s code, but never our own.

Greg

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Paul Bunn
Sent: Wednesday, June 21, 2000 10:56 AM
To: NT Developers Interest List
Subject: [ntdev] RE: Can we declare a variable as ‘int’ in the driver
???

D’oh! Of course, my bad. That’ll teach me to stare at C code
without first
processing my double-tall latte.

Regards,

Paul Bunn, UltraBac.com, 425-644-6000
Microsoft MVP - WindowsNT/2000
http://www.ultrabac.com

-----Original Message-----
From: Gregory G. Dyess [mailto:xxxxx@pdq.net]
Sent: Wednesday, June 21, 2000 8:35 AM
To: NT Developers Interest List
Subject: [ntdev] RE: Can we declare a variable as ‘int’ in the driver
???

Paul,
Since the boundary condition is >= 0 (as opposed to just >0), it will
make a difference whether the variable is signed or unsigned.

You may want to explicitly declare your variable as “signed long”
instead of
long or LONG. I personally despise using the M$-supplied typedefs for
standard types unless it’s something specifically required to be so.

Greg

> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com]On Behalf Of Paul Bunn
> Sent: Wednesday, June 21, 2000 10:17 AM
> To: NT Developers Interest List
> Subject: [ntdev] RE: Can we declare a variable as ‘int’ in the driver
> ???
>
>
> I don’t see what difference iCount being signed or not would make
> to the for
> loop.
> int normally is equivalent to LONG. You should be able to define
> iCount as
> LONG or ULONG and it shouldn’t make any difference to that
> particular loop.
> The only difference I can think of is that in the free build it
is likely
> that iCount may not be assigned storage at all, but may just live as a
> register value (depending on what you’re doing with it). It’s
> also possible
> that it’s a compiler bug, though that is rare these days. I
would tend to
> recommend debugging the free build and looking at the disassembly.
>
> Regards,
>
> Paul Bunn, UltraBac.com, 425-644-6000
> Microsoft MVP - WindowsNT/2000
> http://www.ultrabac.com
>
>
> -----Original Message-----
> From: Eshanye [mailto:xxxxx@procsys.com]
> Sent: Wednesday, June 21, 2000 7:27 AM
> To: NT Developers Interest List
> Subject: [ntdev] Can we declare a variable as ‘int’ in the driver ???
>
>
> Hi,
>
> I have declared a variable as ‘int’ in my driver. This variable is used
> as an index inside a for loop. something like this:-
>
> int iCount;
>
> for(iCount = 3; iCount >= 0; iCount–)
> {
>
> blah… blah…
>
> }
>
> This is a part of DriverEntry…
>
> Now this driver is working very fine if built as a checked build. But it
> wont get loaded if it is built as a free build. Because iCount is
> behaving as ULONG. and therefore it is in an infinite loop and so the
> driver is not getting loaded at all.
>
> [I know that I can change the for loop to serve my purpose, but … \> why…]. I declared iCount as LONG. But still the same behavior !!!
> [LONG is supposed to be signed long right ???] What is happening ?
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@pdq.net
> To unsubscribe send a blank email to $subst(‘Email.Unsub’)
>
>


You are currently subscribed to ntdev as: xxxxx@ultrabac.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)


You are currently subscribed to ntdev as: xxxxx@pdq.net
To unsubscribe send a blank email to $subst(‘Email.Unsub’)