From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2607 invoked by alias); 4 Jan 2016 18:31:00 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 2587 invoked by uid 89); 4 Jan 2016 18:30:59 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.3 required=5.0 tests=AWL,BAYES_50,RCVD_IN_DNSWL_LOW,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=H*Ad:D*ca, H*MI:sk:RnRQ@ma, H*MI:sk:CALiPeu, H*MI:CALiPeun3v X-HELO: plane.gmane.org Received: from plane.gmane.org (HELO plane.gmane.org) (80.91.229.3) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Mon, 04 Jan 2016 18:30:57 +0000 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1aG9u1-0007s6-LO for cygwin@cygwin.com; Mon, 04 Jan 2016 19:30:46 +0100 Received: from S010690fba62c4bda.cg.shawcable.net ([96.51.88.197]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 04 Jan 2016 19:30:45 +0100 Received: from Brian.Inglis by S010690fba62c4bda.cg.shawcable.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 04 Jan 2016 19:30:45 +0100 To: cygwin@cygwin.com From: Brian Inglis Subject: Re: Issues in utmp/utmpx headers Date: Mon, 04 Jan 2016 18:31:00 -0000 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit User-Agent: Loom/3.14 (http://gmane.org/) X-IsSubscribed: yes X-SW-Source: 2016-01/txt/msg00023.txt.bz2 > On 29 December 2015 at 13:16, Brian Inglis > systematicsw.ab.ca> wrote: >> The utmpname implementation in newlib-cygwin/winsup/cygwin/syscalls.cc >> could probably be improved to: avoid a memory leak; return -1 if >> strdup fails, zero otherwise; default the path if a null pointer or string >> argument is passed. >> That would also fix utmpxname which is an alias. >> Such a change would have little likely impact on downstream apps, but could >> produce warnings about ignoring return values. >> Unfortunately there appears to be no standard defined names to access the >> default file name although GNU and Cygwin provide UTMP_FILE and UTMPX_FILE; >> GNU also provide UTMP_FILENAME and UTMPX_FILENAME. >> _PATH_UTMP and _PATH_UTMPX are implementation reserved names which may or >> may not be provided, though adding the latter in paths.h would be trivial. >> As the developers say, patches always welcome. David Lee gmail.com> writes: > Sorry I am totally unfamiliar with Cygwin internals, here are some > related questions: > 1. how does one test a code path that involves a failed syscall > (strdup() in this case, but can be others) in cygwin dll? Unlikely to happen, but could test in your code for errno == ENOMEM, as errno should never be cleared, but relies on appropriate tests. > 2. If the call to strdup() fails, I want to debug_print() the errno > value set by strdup(). Do I have to save errno before debug_print() > that and restore afterwards? Save only and use your saved copy. > 3. Does the instruction from 6.21 in > https://cygwin.com/faq/faq.html#faq.programming.building-cygwin > generates a debugging dll (i.e. contains debug symbols usable by > gdb)? If not, what modifications are needed to create one? https://cygwin.com/faq/faq.html#faq.programming.debugging-cygwin FAQ 6.22 explains to install cygwin-debuginfo for released dll and that 6.21 generates debug info for custom dll. -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple