[net.micro] bug in make for msdos

km@cadre.ARPA (Ken Mitchum) (08/27/85)

The version of "make" for msdos which is part of the jove sources contains a
bug. As a result, the program as distributed only works correctly under DOS
3.0 and up. Earlier versions of DOS will fail with a message like:

    Make: Can't Make 'fubar'.

even though 'fubar' exists in the current directory.

The problem is an incorrect error return in the function find_first(), in
the file makeutil.c.  Replace the following lines:

    srv.dx = name;
    sysint21(&srv,&srv);
    return(!(srv.ax & 0xff00));
}

with:

    srv.dx = name;
    return(sysint21(&srv,&srv) & 1);
}

The result will work with both versions of DOS.

Sorry for any inconvenience caused by the above. Unfortunately, the contents
of ax are slightly different in the two DOS versions.

  -Ken Mitchum
  University of Pittsburgh
  Decision Systems Laboratories
  (km@cadre.arpa)