Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com Date: Wed, 31 Oct 2001 20:28:39 -0500 From: Christopher Faylor To: cygwin-developers AT cygwin DOT com Subject: Re: setup.exe command line options Message-ID: <20011031202839.A29302@redhat.com> Reply-To: cygwin-developers AT cygwin DOT com Mail-Followup-To: cygwin-developers AT cygwin DOT com References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.3.21i On Thu, Nov 01, 2001 at 12:29:08PM +1100, Robert Collins wrote: >> > -----Original Message----- >> > From: Christopher Faylor [mailto:cgf AT redhat DOT com] >> > Sent: Thursday, November 01, 2001 11:24 AM >> > To: cygwin-developers AT cygwin DOT com >> > Subject: Re: setup.exe command line options >> > >> > >> > On Thu, Nov 01, 2001 at 10:00:23AM +1100, Robert Collins wrote: >> > >> I'd appreciate it if the current argv code was reverted >> > ASAP. We can't >> > >> use the cygwin argv stuff in setup.exe. >> > > >> > >Why not? It's been cleanly extracted, and is (one way) GPL >> > compatible. >> > >> > Then there is also the technical reason that we don't need it since >> > __argv seems to do what we need automatically. Just >> include stdlib.h >> > and you have the parsed command line available. > >Have you tested this? AFAICT the __argv is for -mconsole programs only, >with the main prolog initialising them in the msvcrt dll init... which >in setup is not happening. > >Or, IOW, __argc and __argv have been meaningless on every test I've >done. Yes. I tested it with -mwindows -mno-cygwin. I couldn't print to the console in that case so I ran it under the debugger. I copied the WinMain from setup.exe into a test program. cgf #include #include #include int WINAPI WinMain (HINSTANCE h, HINSTANCE hPrevInstance, LPSTR command_line, int cmd_show) { char **argv; int i; for (i = 0, argv = __argv; *argv; argv++) printf ("%d - '%s'\n", i, *argv); }