Mail Archives: cygwin/1999/07/12/18:10:25
--------------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--
- Raw text -