Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Message-ID: <378A6235.5DB02058@savantage.com> Date: Mon, 12 Jul 1999 16:46:30 -0500 From: "Dan St.Andre'" Organization: Nu Thena Systems, Inc. X-Mailer: Mozilla 4.6 [en] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 To: cygwin AT sourceware DOT cygnus DOT com Subject: B20: cygpath doesn't handle 8.3 tilde names Content-Type: multipart/mixed; boundary="------------A86E56D82A3D7DB0958259E5" --------------A86E56D82A3D7DB0958259E5 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit SITUATION: Given a 16-bit DOS command line utility that expects 8.3 format names and paths, the following command might fail giving error messages: bash $ myProg `cygpath -w ../folder/file` target myProg: Error C101: Unable to complete operation! Please check source/destination files and disks. ANALYSIS: Upon inspection, "cygpath -w ../folder/file" resulted in a detailed path where certain folder names were longer than eight characters. Also, myProg was discovered to be a win16 application that required 8.3 format folder and file names. In the 8.3 world, no folder name along the path may be longer than eight(8) characters. In addition, file names have a similar eight character limit and the extension [part to the right of the period] must be three(3) or fewer characters. Windows makes magic names of the form "mumble~N" where mumble is the left hand six(6) characters of long names. There are also length restrictions on the total length of the path+filename+extension. [Sorry, I don't remember them.] DISCUSSION: I propose adding a "-8" option that deals with tilde-names. Everywhere that windoze deals with long names, tilde-names are supposed to work. If you changed the existing "-w" to output tilde-names, both short name and long name windoze programs would be happy. I admit, that it would be regrettable to discard longname output. Any implementation would need to grab a strings that are right of a slash '/'. If that string is longer that eight characters, then make it a tilde-name. Iterate until the last long string has been processed. RECOMMENDATION: 1. Cheap: Add an option like "-8" (preferred) or "-d" to request 8.3 format names bash $ cygpath -8 /usr/local/mumble-very-long-name.dat C:\usr\local\mumble~1.dat 2. Nice to have: Add some way that we get either longnames or 8.3 names. This might be output from either 'test' or 'file' or 'type' that could instruct cygpath how to behave based on the needs of the command verb EXE file. I could also see this as some sort of the 'exec16' behavior. bash $ #=== do we have a 16-bit dos program? bash $ if [ -8 `which myprog` ] ; then more> myprog `cygpath -8 /usr/local/mumble-very-long-name.dat` target more> else more> myprog `cygpath -w /usr/local/mumble-very-long-name.dat` target more> fi --or-- bash $ exec16 myProg `cygpath -w ../folder/file` target Cordially, Dan St.Andre' The GRILLON Group mailto:grillon AT mindspring DOT com -- ============================================================== The Tenth Amendment ... its not only a good idea, its the law! http://www.law.cornell.edu/constitution/constitution.billofrights.html#amendmentx ============================================================== --------------A86E56D82A3D7DB0958259E5 Content-Type: text/x-vcard; charset=us-ascii; name="saint.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Dan St.Andre' Content-Disposition: attachment; filename="saint.vcf" begin:vcard n:St.Andre';Daniel M. tel;fax:512.335.8494 tel;work:512.335.7450x223 x-mozilla-html:TRUE url:http://www.nuthena.com org:Nu Thena Systems, Inc.;Product Development version:2.1 email;internet:saint AT nuthena DOT com title:Director, Quality Management adr;quoted-printable:;;11824 Jollyville Road=0D=0ASuite 101;Austin;Texas;78759;USA fn:Dan St.Andre' end:vcard --------------A86E56D82A3D7DB0958259E5 Content-Type: text/plain; charset=us-ascii -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com --------------A86E56D82A3D7DB0958259E5--