delorie.com/archives/browse.cgi | search |
Mailing-List: | contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm |
List-Subscribe: | <mailto:cygwin-subscribe AT sources DOT redhat DOT com> |
List-Archive: | <http://sources.redhat.com/ml/cygwin/> |
List-Post: | <mailto:cygwin AT sources DOT redhat DOT com> |
List-Help: | <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs> |
Sender: | cygwin-owner AT sources DOT redhat DOT com |
Delivered-To: | mailing list cygwin AT sources DOT redhat DOT com |
X-Envelope-Sender-Is: | Andrej DOT Borsenkow AT mow DOT siemens DOT ru (at relayer david.siemens.de) |
From: | "Andrej Borsenkow" <Andrej DOT Borsenkow AT mow DOT siemens DOT ru> |
To: | <Cygwin AT Sourceware DOT Cygnus DOT Com> |
Subject: | putenv() - copying environment string violates Unix specs? |
Date: | Tue, 25 Jul 2000 11:00:26 +0400 |
Message-ID: | <000e01bff606$02e2d500$21c9ca95@mow.siemens.ru> |
MIME-Version: | 1.0 |
X-Priority: | 3 (Normal) |
X-MSMail-Priority: | Normal |
X-Mailer: | Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0) |
X-MimeOLE: | Produced By Microsoft MimeOLE V5.50.4133.2400 |
Importance: | Normal |
According to putenv() description SUS V2, the argument is used "as is" and never copied. Cygwin version of putenv() explicitly copies argument (actually, multiple times - first in putenv() and then in setenv()). This is horribly confusing for programs that expect to manage environment strings themselves and/or have own memory allocator (like Zsh). It means, that every use must be checked and free'ing of environment string put under #ifdef __CYGWIN__ Is there any particular reason for this? Is there any chance that it may be changed to be more Unix-compatible? -andrej Have a nice DOS! B >> -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |