| www.delorie.com/archives/browse.cgi | search |
| Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
| List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
| List-Archive: | <http://sources.redhat.com/ml/cygwin/> |
| List-Post: | <mailto:cygwin AT cygwin DOT com> |
| List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs> |
| 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: | <52360.213.38.17.50.1042048337.squirrel@raq299.uk2net.com> |
| In-Reply-To: | <20030108162949.GA16269@grub.ath.cx> |
| References: | <20030108162949 DOT GA16269 AT grub DOT ath DOT cx> |
| Date: | Wed, 8 Jan 2003 17:52:17 -0000 (GMT) |
| Subject: | Re: Problem going from .o -> .dll |
| From: | "Dave Hooper" <dave AT rebuzz DOT org> |
| To: | "Travis Whitton" <whitton AT atlantic DOT net> |
| Cc: | cygwin AT cygwin DOT com |
| MIME-Version: | 1.0 |
| X-Priority: | 3 |
| Importance: | Normal |
> $ ./driver.exe
> EOF
> g(smiley face)Err: Close failed
This is not a forum for debugging other peoples' code, but ...
1. You are using HANDLE * instead of HANDLE
2. Your logic for nul termination is totally wrong:
c->buffer[nBytesRead + 1] = '\0';
should be
c->buffer[nBytesRead] = '\0';
(think about why)
3. Your logic for detecting End Of File also looks wrong - Quote from
msdn.microsoft.com: "The ReadFile code to check for the end-of-file
condition (eof) differs for synchronous and asynchronous read operations.
When a synchronous read operation reaches the end of a file, ReadFile
returns TRUE and sets *lpNumberOfBytesRead to zero".
4. I would also personally check that CreateFile isn't returning NULL (as
well as your current test for INVALID_HANDLE_VALUE) as that will also
indicate an error. I also habitually set nBytesRead=0 before calling
ReadFile although I cannot honestly tell you if that will make a
difference.
Try that little lot and see what happens. At the worst it will let you
diagnose any real error correctly.
d
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |