Closed Bug 300264 Opened 19 years ago Closed 19 years ago

Restart code botches command-line when patch contains spaces and is a network (smb, samba) share

Categories

(Toolkit :: Startup and Profile System, defect)

x86
Windows Server 2003
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: bugzilla-mozilla-20000923, Unassigned)

References

Details

As you're all probably aware, the argv-restart code is a little dodgy at best
(thanks to using the C stdlib on Windows, mostly), and munges the parameters
into short paths because no-one could be bothered quoting.

So starting Firefox locally, Windows launches with this command-line:
  "C:\Program Files (x86)\Deer Park 2\firefox.exe"
After the restart, it is:
  C:\PROGRA~2\DEERPA~2\firefox.exe

This is horribly ugly, but it works.

Now, if you start it from a network share, this doesn't happen (I've not looked
at the code, so don't know if it simply ignores network paths, or just calls the
wrong APIs). So Windows starts with:
  "\\gold\Firefox (trunk)\firefox.exe"
After the restart, it is:
  \\gold\Firefox (trunk)\firefox.exe

Which naturally does not work right. The Win32 API involved (ShellExecute, I
expect, under all the C stdlib wrapping) can handle this (so Firefox does
start), but Firefox itself really doesn't. It tries to open the page
"file://///gold/Firefox%20(trunk)/(trunk)/firefox.exe".

Personally, I think the arguments should just be quoted if they contain a space.
It's a really simple bit of logic, and will work in both situations (not to
mention wont look ugly as hell). Anyway, it needs fixing. :)
This was fixed by bug 303599. Wooyay.
Status: NEW → RESOLVED
Closed: 19 years ago
Depends on: 303599
Resolution: --- → FIXED
Component: XRE Startup → Startup and Profile System
QA Contact: nobody → startup
You need to log in before you can comment on or make changes to this bug.