Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <003d01c308ed$07e6e670$78d96f83@pomello> From: "Max Bowsher" To: "Jeff Baker" , References: <000a01c308e7$f6550360$c2020c0a AT jbaker1200> Subject: Re: CompactFlash Disk Geometry Date: Tue, 22 Apr 2003 17:34:22 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Jeff Baker wrote: > Ok so allow me to correct myself here. The 'Cylinders' element in the > DISK_GEOMETRY structure is a LARGE_INTEGER, which isn't being printed by a > simple printf("%d"). If I print the Cylinders.LowPart element the output is > correct. Since trying to printf a LARGE_INTEGER works on both Visual C and > a version of Watcom I have, is this a bug in Cygwin? Why would you expect %d to print a LARGE_INTEGER? I suspect that your Visual C and Watcom programs will give incorrect output for values larger than 2^31. Printing 64-bit ints is rather nonstandard, unfortunately. For MSVCRT, I guess (untested) you would need %I64d. For newlib (Cygwin), you will need %lld or %qd. Max. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/