[comp.sys.ibm.pc] Microsoft linker and /

rhk@vilya.UUCP (KENSICKI) (01/13/88)

I'm getting tired of the work arounds I have to do when using
Microsoft's link program. My personel taste leans (sorry)
towards using the '/' instead of '\' as is common in
msdos. I'm now using the MKS Toolkit and it's very painfull.

Has anyone done a patch to link to change the file delimiter
from '\' to '/' ?

	rich kensicki
	{allegra,ihnp4,attunix}!vilya!rhk

mrk@gvgspd.UUCP (Michael R. Kesti) (01/29/88)

In article <105@ucrmath.UUCP> baumann@hope.UUCP (Michael Baumann) writes:
>I was playing around with MASM 5.0 and the DOS INT21 functions and came
>across a possible solution for those that find '\' as a file seperator
>a true pain. Use INT 21 function 37 (set switch char) to reset the switch
>character to '-'. This has the delightful side effect of allowing the use
>of the forward slash '/' as a file seperator.

Yes, this does what Michael says, but is not without it's problems.

First, this is an undocumented feature, and could therefore be removed by
uSoft at any time.

Second, not all programs will use the complementary call (read switch char)
and therefore will expect the switch char to be "/" and the directory
separator to be "\" and can get very confused if you have set them to
otherwise.  One good example is the FA (file attributes) program in the
Norton utilities (I use version 3.?, your milage may vary).  This program
uses "+" and "-" to indicate whether the specified attribute is to be set or
cleared, for example:

	fa foo.bar /a+

turns the archive bit on, while

	fa foo.bar /a-

turns it off.  Now, when the switch char is "-", these become:

	fa foo.bar -a+ (no problem here)

and
	fa foo.bar -a-

which drives fa crazy (actually, it just returns an error message, but you
get the point, right?).

I have found it best to leave this matter alone and just get used to it!

				Michael

-- 
============================================================================
Michael Kesti  Grass Valley Group, Inc. | "Like one and one don't make two,
P.O. Box 1114  Grass Valley, CA  95945  |  one and one make one."
UUCP:	...!tektronix!gvgpsa!gvgspd!mrk |                - The Who, Bargain

jto@santra.UUCP (Jari Tomminen) (01/30/88)

In article <105@ucrmath.UUCP> baumann@hope.UUCP (Michael Baumann) writes:
>a true pain. Use INT 21 function 37 (set switch char) to reset the switch
>character to '-'. This has the delightful side effect of allowing the use
>of the forward slash '/' as a file seperator.

The only problem is that all application programs don't like these
cute switch characters and delightful side effects.  For example
WordPerfect 4.2 will barf if you try to run it with any option switches
and you have the switch character set to anything but "/".

Personally I prefer "-".  It's more like *UNIX*...  If Microsoft had
to make DOS so much UNIX lookalike then why didn't they make it
properly instead of leaving it halfway?

Best regards,
Jari.
-- 
Jari Tomminen                              | Internet: jto@santra.hut.fi
Helsinki University of Technology, Finland | uucp:     ...!mcvax!santra!jto
Computing Centre                           | Bitnet:   jto@fingate.bitnet
Microcomputer Support Division             | Voice:    + 358 - 0 - 451 2987

dhesi@bsu-cs.UUCP (Rahul Dhesi) (01/30/88)

In article <434@gvgspd.UUCP> mrk@gvgspd.UUCP (Michael R. Kesti) writes:
>[Switchar] is an undocumented feature, and could therefore be removed by
>uSoft at any time.

No, switchar was well-documented by Microsoft in manuals provided to
OEMs, and some of them (not IBM) documented it in the documentation
they provided to their users.  Also, since several programs sold by
Microsoft have used the switchar system call in the past, it will not
be in Microsoft's interest to remove the system call now.
-- 
Rahul Dhesi         UUCP:  <backbones>!{iuvax,pur-ee,uunet}!bsu-cs!dhesi

jpn@teddy.UUCP (John P. Nelson) (02/02/88)

>Personally I prefer "-".  It's more like *UNIX*...  If Microsoft had
>to make DOS so much UNIX lookalike then why didn't they make it
>properly instead of leaving it halfway?

Ah, evolution.  Remember that MSDOS 1.0 was not much like UNIX at all:
It was patterned after CPM (and did a fair job of emulation, at that!)
It is CP/M that uses '/' as a option introducer character.  Note that
MSDOS 1.0 did not have subdirectories at all.

When MSDOS 2.0 was introduced, they had the choice of being backward
compatible with 1.0, or being compatible with UNIX.  Evidently there
was a split within Microsoft, because the "SWITCHCHAR" hack was put
in to accomodate both camps.  Lots of other unix-like features were
added at this time:  I think it would have been better to change the
option character also.

Unfortunately, the MSDOS 1.0 (CPM) compatible syntax seems to have
won out (BOO HISS).  Luckily, this usually only affects command line
parsing, since MSDOS is happy with either '/' or '\' as a pathname
seperator (YAY!)