To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=81252
                 Issue #|81252
                 Summary|Problem running double-quoted command with double-quot
                        |ed arguments
               Component|tools
                 Version|current
                Platform|PC
                     URL|
              OS/Version|Windows XP
                  Status|UNCONFIRMED
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|DEFECT
                Priority|P2
            Subcomponent|dmake
             Assigned to|vq
             Reported by|shay





------- Additional comments from [EMAIL PROTECTED] Tue Sep  4 10:26:34 +0000 
2007 -------
dmake (on Windows XP, at least) seems unable to run a command such as:

"command" "arg"

(including the double-quotes) which causes problems when the command to be run
contains a space in its path and requires an argument that also contains a space
(i.e. so that both *need* double-quoting).

It isn't the spaces themselves that cause the trouble. It is the use of
double-quotes the breaks it. The following simple makefile doesn't require the
commands or arguments to be double-quoted, but illustrates the problem:

HELLO1 = C:\Temp\hello.exe
HELLO2 = C:\Temp\hello.exe arg
HELLO3 = C:\Temp\hello.exe "arg"
HELLO4 = "C:\Temp\hello.exe"
HELLO5 = "C:\Temp\hello.exe" arg
HELLO6 = "C:\Temp\hello.exe" "arg"

all :
        @echo $(HELLO1)
        @$(HELLO1)
        @echo $(HELLO2)
        @$(HELLO2)
        @echo $(HELLO3)
        @$(HELLO3)
        @echo $(HELLO4)
        @$(HELLO4)
        @echo $(HELLO5)
        @$(HELLO5)
        @echo $(HELLO6)
        @$(HELLO6)

When I place that makefile in C:\Temp, together with a compiled C program called
hello.exe that simply printf()s "Hello, world.", I get the following output by
running "dmake":

C:\Temp\hello.exe
Hello, world.
C:\Temp\hello.exe arg
Hello, world.
C:\Temp\hello.exe "arg"
Hello, world.
"C:\Temp\hello.exe"
Hello, world.
"C:\Temp\hello.exe" arg
Hello, world.
"C:\Temp\hello.exe" "arg"
'C:\Temp\hello.exe" "arg' is not recognized as an internal or external command,
operable program or batch file.
dmake:  Error code 129, while making 'all'

As you can see, the last command, combining the use of double-quotes on the
command as well as its argument breaks it. The previous five commands show that
this particular example can be fixed by simply not using double-quotes, but that
isn't an option if the command and the argument happen to contain spaces.

This is currently causing trouble for a user of my CPAN binary distribution of
dmake-4.8 for building perl and perl CPAN modules:

http://rt.cpan.org/Public/Bug/Display.html?id=28847

The same makefile as above runs OK (producing the expected output) using
Microsoft's nmake (VC6, VC7, VC8 or even VC9 Beta 2!), so it must be a dmake
thing, rather than something intrinsically wrong with the cmd.exe shell or
Win32's process handling generally.

PS. The web page http://tools.openoffice.org/dmake/ still refers to dmake-4.7 as
the latest version. I thought that 4.8 had been released (and, indeed, the dmake
source that I have verified the above bug in identifies itself as 4.9(-to-be, I
guess), which also suggests that 4.8 is released).

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to