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’)