From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 639 invoked by alias); 9 Nov 2011 16:58:19 -0000 Received: (qmail 630 invoked by uid 22791); 9 Nov 2011 16:58:18 -0000 X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 09 Nov 2011 16:58:05 +0000 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=EU1-MAIL.mgc.mentorg.com) by relay1.mentorg.com with esmtp id 1ROBTQ-0000ol-Up from pedro_alves@mentor.com ; Wed, 09 Nov 2011 08:58:05 -0800 Received: from scottsdale.localnet ([172.16.63.104]) by EU1-MAIL.mgc.mentorg.com with Microsoft SMTPSVC(6.0.3790.1830); Wed, 9 Nov 2011 16:58:02 +0000 From: Pedro Alves To: gdb-patches@sourceware.org, Eli Zaretskii Subject: Re: [PATCH] windows-nat: Decode system error numbers Date: Wed, 09 Nov 2011 16:58:00 -0000 User-Agent: KMail/1.13.6 (Linux/2.6.38-12-generic; KDE/4.7.2; x86_64; ; ) Cc: "Maciej W. Rozycki" References: <83obwlgsc5.fsf@gnu.org> In-Reply-To: <83obwlgsc5.fsf@gnu.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <201111091658.00913.pedro@codesourcery.com> X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2011-11/txt/msg00235.txt.bz2 On Wednesday 09 November 2011 16:42:50, Eli Zaretskii wrote: > > Date: Wed, 9 Nov 2011 12:02:40 +0000 > > From: "Maciej W. Rozycki" > > > > + const char *msg = "Unspecified error."; > > + unsigned long err; > > + char buf[1025]; > > + size_t size; > > + > > + if (ok) > > + return; > > + > > + err = GetLastError(); > > + size = FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM > > + | FORMAT_MESSAGE_IGNORE_INSERTS, > > + NULL, > > + err, > > + MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), > > + buf, (sizeof (buf) - 1) / sizeof (TCHAR), NULL); > > Will this DTRT with Cygwin, which AFAIK wants the wide versions of the > APIs? Is, for example, "char buf[1025];" appropriate in that case? Yeah, if UNICODE is defined, FormatMessage maps to FormatMessageW and buf will be filled with a wide string, though I'm not sure if __USEWIDE implies UNICODE. gdbserver/win32-low.c has strwinerror for this. It'd be nice if windows-nat.c also abstracted this equally or similarly. -- Pedro Alves