On Aug 17 12:57, Lavrentiev, Anton (NIH/NLM/NCBI) [C] via Cygwin wrote: > > $ gcc -g -O2 -o proc_partition_O2 proc_partition.c -lntdll > > I ran the program (without gdb yet, can't doit right away)... Its > output is a bit different from /proc/partitions (w.r.t. drive names),
Yes, it's just faked in the most dirt-simple way. I added a comment to the code to outline why that is. > but I still see the duplicates: Great! That means it should be pretty straightforward to see why the problem occurs by stepping through the code. For a start I'd suggest to set a breakpoint to line 103, that's the first DeviceIoControl call. That line is only reached for actual disks when looping over the native \Device directory. On second thought, I have a vague idea... Could you please just add something to the output, i.e, change lines 124/125 from printf ("%5d %5d %9llu sd%c\n", 8, (dev_name - 'a') * 16, size >> 10, dev_name); to printf ("%5d %5d %9llu sd%c (%lu)\n", 8, (dev_name - 'a') * 16, size >> 10, dev_name, (unsigned long) context); and just compile and run the testcase again? Thanks, Corinna -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple