diff -mru -X patch-excludes src/winsup/cinstall/desktop.cc src-work/winsup/cinstall/desktop.cc --- src/winsup/cinstall/desktop.cc Sun Mar 3 17:29:24 2002 +++ src-work/winsup/cinstall/desktop.cc Sun Mar 3 17:23:41 2002 @@ -103,7 +103,7 @@ static void make_link (String const &linkpath, String const &title, String const &target) { - String fname = linkpath + "/" + title + ".lnk"; + String fname = backslash(linkpath + "/" + title + ".lnk"); if (_access (fname.cstr_oneuse(), 0) == 0) return; /* already exists */ @@ -111,7 +111,7 @@ msg ("make_link %s, %s, %s\n", fname.cstr_oneuse(), title.cstr_oneuse(), target.cstr_oneuse()); - io_stream::mkpath_p (PATH_TO_FILE, fname); + io_stream::mkpath_p (PATH_TO_FILE, String("file://") + fname); String exepath; @@ -278,7 +278,7 @@ make_passwd_group () { String fname = cygpath ("/etc/postinstall/passwd-grp.bat"); - io_stream::mkpath_p (PATH_TO_FILE, fname); + io_stream::mkpath_p (PATH_TO_FILE, String("file://") + fname); if (uexists ("/etc/passwd") && uexists ("/etc/group")) return; @@ -339,14 +339,27 @@ make_etc_profile (); make_passwd_group (); + String inhibit_menu_file = backslash(cygpath("/etc/setup/inhibit-startmenu-icon")); + String inhibit_desktop_file = backslash(cygpath("/etc/setup/inhibit-desktop-icon")); + if (root_menu) { start_menu ("Cygwin Bash Shell", batname); + _unlink(inhibit_menu_file.cstr_oneuse()); + } + else + { + fclose(fopen(inhibit_menu_file.cstr_oneuse(),"wb")); } if (root_desktop) { desktop_icon ("Cygwin", batname); + _unlink(inhibit_desktop_file.cstr_oneuse()); + } + else + { + fclose(fopen(inhibit_desktop_file.cstr_oneuse(),"wb")); } } @@ -397,6 +410,9 @@ if (_access (fname.cstr_oneuse(), 0) == 0) return 0; /* already exists */ + if (uexists("/etc/setup/inhibit-desktop-icon")) + return 0; /* inhibited by previous user choice */ + return IDC_ROOT_DESKTOP; } @@ -430,6 +446,9 @@ if (_access (fname.cstr_oneuse(), 0) == 0) return 0; /* already exists */ + + if (uexists("/etc/setup/inhibit-startmenu-icon")) + return 0; /* inhibited by previous user choice */ return IDC_ROOT_MENU; } diff -mru -X patch-excludes src/winsup/cinstall/localdir.cc src-work/winsup/cinstall/localdir.cc --- src/winsup/cinstall/localdir.cc Mon Feb 18 13:53:06 2002 +++ src-work/winsup/cinstall/localdir.cc Sun Mar 3 17:20:34 2002 @@ -45,7 +45,7 @@ void save_local_dir () { - io_stream::mkpath_p (PATH_TO_DIR, local_dir); + io_stream::mkpath_p (PATH_TO_DIR, String("file://") + local_dir); io_stream *f; if (get_root_dir ().size())