X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Message-ID: <4DB99DFD.5000706@cwilson.fastmail.fm> Date: Thu, 28 Apr 2011 13:03:57 -0400 From: Charles Wilson Reply-To: Charles Wilson User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: mkshortcut --allusers --smprograms References: <416096c60906291153l2d132977w397fb05f444bccae AT mail DOT gmail DOT com> <4C68582B DOT 5030406 AT cwilson DOT fastmail DOT fm> <4DB03CB5 DOT 4080005 AT dronecode DOT org DOT uk> In-Reply-To: <4DB03CB5.4080005@dronecode.org.uk> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On 4/21/2011 10:18 AM, Jon TURNEY wrote: > On 15/08/2010 22:12, Charles Wilson wrote: >> On 6/29/2009 2:53 PM, Andy Koppe wrote: >>> Shortcuts created by postinstall scripts using mkshortcut --allusers >>> --smprograms aren't readable for ordinary users, so all they get to >>> see in the start menu is a white dummy icon that doesn't do anything. >>> This affects both MinTTY and rxvt, at least with Cygwin 1.7 on Windows >>> 7. I guess the scripts could find out where the start menu is and >>> apply the necessary rights themselves, but it would make sense and be >>> much more convenient if mkshortcut did that. >> >> Andy, if you'd like to roll this change into a forward-port of your >> other, wideAPI/locale patch, that'd be great. > > This issue still seems to exist, and I couldn't find an actual patch to solve > it, so attached is an attempt at fixing this. > Jon, thanks for the patch. Out of curiosity, why do you do this: ssize_t size; size = cygwin_conv_path(CCP_WIN_W_TO_POSIX | CCP_ABSOLUTE, widepath, NULL, 0); if (size >= 0) { char *posixpath = malloc(size); if (!cygwin_conv_path(CCP_WIN_W_TO_POSIX | CCP_ABSOLUTE, widepath, posixpath, size)) Instead of simply using cygwin_create_path() ? -- Chuck -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple