[gnu.utils.bug] Filename expansion missing from MSDOS gawk, version 2.11

bsrdp@warwick.ac.uk (Hylton Boothroyd) (06/28/90)

On a UNIX system a command of the form
        gawk -f process.awk data*.*
has the wildcard filename expansion dealt with by the UNIX shell.

On an MSDOS system, at least with version 3.xx, there is no such shell
expansion.  Instead, wildcards are dealt with *within*each*application*
by first match (INT21H/4EH) and next match (INT21H/4FH).

The 2.02 beta version did that.
The 2.11 version currently on SIMTEL does not: all filenames have to be
explicitly entered.

Is a suitable upgrade on the way?
---
--
-----------------------
Hylton Boothroyd        Janet: h.boothroyd@uk.ac.warwick.cu
Warwick Business School Darpa: h.boothroyd%cu.warwick.ac.uk@relay-nsfnet.ac.uk
University of Warwick   Uucp:  h.boothroyd@warwick.uucp

darcy@druid.uucp (D'Arcy J.M. Cain) (06/29/90)

In article <1990Jun28.103243.7818@warwick.ac.uk> bsrdp@warwick.ac.uk (Hylton Boothroyd) writes:
>On a UNIX system a command of the form
>        gawk -f process.awk data*.*
>has the wildcard filename expansion dealt with by the UNIX shell.
>
>On an MSDOS system, at least with version 3.xx, there is no such shell
>expansion.  Instead, wildcards are dealt with *within*each*application*
>by first match (INT21H/4EH) and next match (INT21H/4FH).
>
>The 2.02 beta version did that.
>The 2.11 version currently on SIMTEL does not: all filenames have to be
>explicitly entered.
>
>Is a suitable upgrade on the way?

Actually, all you have to do is include the proper file during the link
phase.  If you are using Turbo C, this file is WILDARGS.OBJ.  I can't
recall the name of the MSC file but it does exist.  When included it does
the filename expansion and presents the arguments to main like Unix shell
does.

-- 
D'Arcy J.M. Cain (darcy@druid)     |   Government:
D'Arcy Cain Consulting             |   Organized crime with an attitude
West Hill, Ontario, Canada         |
(416) 281-6094                     |

irv@happym.wa.com (Irving Wolfe) (06/29/90)

bsrdp@warwick.ac.uk (Hylton Boothroyd) writes:

>On an MSDOS system, ...
>wildcards are dealt with *within*each*application*

>The 2.11 version currently on SIMTEL does not

A better solution than a mere upgrade to handle stars might be getting a 
reasonable shell that will run under MSDOS.  They exist; MKS has made a fine 
one and I'm sure there are others. 
-- 
 Irving Wolfe            irv@happym.wa.com              206/463-9399 ext.101
 Happy Man Corp.   4410 SW Pt. Robinson Road,  Vashon Island, WA  98070-7399
 SOLID VALUE, the investment letter for Benj. Graham's intelligent investors

creps@silver.ucs.indiana.edu (Steve Creps) (06/29/90)

In article <1990Jun28.103243.7818@warwick.ac.uk> bsrdp@warwick.ac.uk (Hylton Boothroyd) writes:
>On a UNIX system a command of the form
>        gawk -f process.awk data*.*
>has the wildcard filename expansion dealt with by the UNIX shell.
>
>On an MSDOS system, at least with version 3.xx, there is no such shell
>expansion.  Instead, wildcards are dealt with *within*each*application*

   If you are using Microsoft C, you can include the file SETARGV.OBJ
when you link the program together. This file should be on one of your
library disks for MSC. Of course, this only gives you wimpy MSDOS wildcard
expansion, but it's better than nothing.

-	-	-	-	-	-	-	-	-	-
Steve Creps
creps@silver.ucs.indiana.edu (129.79.1.6)
{inuxc,rutgers,uunet!uiucdcs,pur-ee}!iuvax!silver!creps

tomg@deceds.dec.com ( The Final Frontier) (06/29/90)

> 
> Actually, all you have to do is include the proper file during the link
> phase.  If you are using Turbo C, this file is WILDARGS.OBJ.  I can't
> recall the name of the MSC file but it does exist.  When included it does
> the filename expansion and presents the arguments to main like Unix shell
> does.

	For MSC you need to link with the file setargv.obj to get
	wildcard expansion.



-- 
| (UUCP)       {decvax, ucbvax, allegra}!decwrl!fstvax.dec.com!gallo |
| (ARPA)       gallo%fstvax.DEC@decwrl.ARPA                          |
| (BITNET)     gallo@fstvax.dec.com                                  |
| Opinions expressed here are my own,not those of my employer!!!     |

steve@cs.su.oz (Stephen Russell) (06/29/90)

In article <321@happym.wa.com> irv@happym.wa.com (Irving Wolfe) writes:
> [ lack of globbing in gawk under MSDOS ... ]
>A better solution than a mere upgrade to handle stars might be getting a 
>reasonable shell that will run under MSDOS.  They exist; MKS has made a fine 
>one and I'm sure there are others. 

While the MKS shell is very neat, and I'm sure the others are too, they
won't solve the problem completely. The 128 byte MSDOS command line
puts a nasty limit on the length of the expanded line. The MKS utilities
use a non-standard mechanism to get at the shell's expanded command
line, but this is inherently nonportable.

Nope, under MSDOS you have to do the work yourself. Anyway feel like
donating a glob() function to the public domain?

Cheers

Steve