mkshortcut debugging problem

Joshua Daniel Franklin joshuadfranklin@yahoo.com
Thu Feb 28 17:33:00 GMT 2002


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/



More information about the Cygwin mailing list