From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21470 invoked by alias); 1 Mar 2002 00:03:36 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Received: (qmail 21418 invoked from network); 1 Mar 2002 00:03:36 -0000 Received: from unknown (HELO web20006.mail.yahoo.com) (216.136.225.69) by sources.redhat.com with SMTP; 1 Mar 2002 00:03:36 -0000 Message-ID: <20020301000334.69284.qmail@web20006.mail.yahoo.com> Received: from [12.41.224.37] by web20006.mail.yahoo.com via HTTP; Thu, 28 Feb 2002 16:03:34 PST Date: Thu, 28 Feb 2002 17:33:00 -0000 From: Joshua Daniel Franklin Subject: mkshortcut debugging problem To: cygwin@cygwin.com MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2002-02/txt/msg01432.txt.bz2 I updated to cygutils 0.9.9 yesterday which included the utility 'mkshortcut', which I wrote. I was horrified to find that it dumps the stack when attempting to set the name for a shortcut (the -n option). I *did* make sure it worked before sending Chuck the code, after all. My first thought was that I accidentally sent an old version, so I got the source and found that it did indeed crash when built as I had been doing it. I freely acknowledge that the code, especially string-handling, is a mess, and after making what seem to be arbitary changes it again works...but only from the current directory. When I copy the new version to /bin (or /usr/bin) this is what happens: /usr/src/cygutils-0.9.9/src-gpl$ /usr/src/cygutils-0.9.9/src-gpl/mkshortcut.exe -DA /usr/local/bin/ [This works, producing bin.lnk in the All Users\Desktop\ dir] /usr/src/cygutils-0.9.9/src-gpl$ rm /c/Documents\ and\ Settings/All\ Users/Desktop/bin.lnk /usr/src/cygutils-0.9.9/src-gpl$ cp /usr/src/cygutils-0.9.9/src-gpl/mkshortcut.exe /usr/bin/ /usr/src/cygutils-0.9.9/src-gpl$ mkshortcut.exe -DA /usr/local/bin/ mkshortcut.exe: Save to persistant storage failed (Does the directory you are writing to exist?) The code that produces this error is: MultiByteToWideChar (CP_ACP, 0, lname, -1, widepath, MAX_PATH); hres = pf->lpVtbl->Save (pf, widepath, TRUE); if (!SUCCEEDED(hres)) { fprintf(stderr, "%s: Save to persistant storage failed (Does the directo ry you are writing to exist?)\n", prog_name); exit(3); } I'm afraid I have no idea how to debug this, and I've begun to make what seem like arbitrary changes. Why would it work from one directory and not another? (BTW, I tried printf'ing the lname string and it is identical in both cases.) Anyone have any suggestions? Thanks. Joshua Daniel Franklin __________________________________________________ Do You Yahoo!? Yahoo! Greetings - Send FREE e-cards for every occasion! http://greetings.yahoo.com -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/