Re: command line limit in mingw-make

Jonathan Liu <[email protected]> Fri, 19 Oct 2012 19:34:01 +1100
Newsgroups gmane.comp.gnu.make.windows
Message-ID <[email protected]>
On 13/10/2012 11:19 PM, Eli Zaretskii wrote:
> Sigh... nothing is ever as simple as it looks.  I needed the
> additional patch below to get Make to work correctly when " is removed
> from sh_chars_dos.  Without this, it would work incorrectly when the
> command line used escaped quotes inside quotes, like in "foo=\"bar\"".
>
> Please try using this change in your future tests.
>
> --- job.c~	2012-01-16 15:46:46.000000000 +0200
> +++ job.c	2012-10-13 13:56:37.708375000 +0200
> @@ -2660,6 +2667,10 @@ construct_command_argv_internal (char *l
>   	     quotes have the same effect.  */
>   	  else if (instring == '"'&&  strchr ("\\$`", *p) != 0&&  unixy_shell)
>   	    goto slow;
> +#ifdef WINDOWS32
> +	  else if (instring == '"'&&  strncmp (p, "\\\"", 2) == 0)
> +	    *ap++ = *++p;
> +#endif
>   	  else
>   	    *ap++ = *p;
>   	}
I have applied the change to my local copy. Seems to be working okay.
I don't think the Makefiles that I use have \" inside quotes though.

Regards,
Jonathan