On Wed, Jan 12, 2005 at 10:42:48PM -0800, Yitzchak Scott-Thoennes wrote: > Given a simple child process that prints its argument, and a parent > that execs it passing a\"b\"c, trying combinations of cygwin and non- > cygwin parent and child shows inconsistency in what's received: > > $ cat child.c > #include <stdio.h> > int main(int argc, char **argv) > { > printf("[%s]\n", argv[1]); > return 0; > } > > $ cat parent.c > #include <unistd.h> > int main(int argc, char **argv) { > char *args[] = { argv[1], "a\\\"b\\\"c", 0}; > execv( argv[1], args); > return 1; > } > > $ gcc -mno-cygwin -Wall child.c -o nocygchild > > $ gcc -mno-cygwin -Wall parent.c -o nocygparent > parent.c: In function `main': > parent.c:4: warning: passing arg 2 of `execv' from incompatible pointer type
Incidentally, that warning is due to mingw having a non-compliant prototype. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/