diff -cbr orig/src/ident.c rcs/src/ident.c
*** orig/src/ident.c	Thu Jan 30 18:51:18 1992
--- rcs/src/ident.c	Thu Jan 30 18:47:40 1992
***************
*** 86,91 ****
--- 86,94 ----
  static int match P((FILE*));
  static void scanfile P((FILE*,char const*,int));
  
+ static char const cmdusage[] =
+ 	"\nident usage: ident -{q} file ...";
+ 	
  mainProg(identId, "ident", "$Id: ident.c,v 5.4 1992/01/24 18:44:19 eggert Exp $")
  /*  Ident searches the named files for all occurrences
   *  of the pattern $keyword:...$, where the keywords are
***************
*** 101,108 ****
          argc--; argv++;
     }
  
!    if (argc<2)
  	scanfile(stdin, (char*)0, quiet);
  
     while ( --argc > 0 ) {
        if (!(fp = fopen(*++argv, FOPEN_R))) {
--- 104,116 ----
          argc--; argv++;
     }
  
!    if (argc<2) {
! 	if (isatty(0)) {
!             fprintf(stderr,"ident error: no input file%s\nident aborted\n", cmdusage);
! 	    exit(EXIT_FAILURE);
!         }
  	scanfile(stdin, (char*)0, quiet);
+    }
  
     while ( --argc > 0 ) {
        if (!(fp = fopen(*++argv, FOPEN_R))) {
diff -cb orig/dirent.c ms/dirent.c
*** orig/dirent.c	Fri Mar 06 10:25:18 1992
--- ms/dirent.c	Fri Mar 06 12:00:24 1992
***************
*** 56,61 ****
--- 56,62 ----
  #include <stdio.h>
  #include <stdlib.h>
  #include <string.h>
+ #include <sys/types.h>
  #include <sys/stat.h>
  
  #ifdef __TURBOC__
***************
*** 209,215 ****
  	/* Is it a directory?  */
  	if (stat(path, &statb) != 0)
  		return -1;
! 	if (! S_ISDIR(statb.st_mode)) {
  		errno = ENOTDIR;
  		return -1;
  	}
--- 210,216 ----
  	/* Is it a directory?  */
  	if (stat(path, &statb) != 0)
  		return -1;
!         if ((statb.st_mode & S_IFMT) != S_IFDIR) {
  		errno = ENOTDIR;
  		return -1;
  	}
***************
*** 225,231 ****
  			    ff.ff_name[1] && (ff.ff_name[1]!='.'||ff.ff_name[2])
  			) {
  				struct dirnames *p = malloc(
! 					sizeof(struct name)+strlen(ff.ff_name)
  				);
  				if (!p) {
  					freenames(dir);
--- 226,232 ----
  			    ff.ff_name[1] && (ff.ff_name[1]!='.'||ff.ff_name[2])
  			) {
  				struct dirnames *p = malloc(
! 					sizeof(struct dirnames)+strlen(ff.ff_name)
  				);
  				if (!p) {
  					freenames(dir);
***************
*** 233,239 ****
  					*pathend = 0;
  					return -1;
  				}
! 				strcpy(*p->name, ff.ff_name);
  				p->next = 0;
  				*np = p;
  				np = &p->next;
--- 234,240 ----
  					*pathend = 0;
  					return -1;
  				}
! 				strcpy(p->name, ff.ff_name);
  				p->next = 0;
  				*np = p;
  				np = &p->next;
***************
*** 250,256 ****
  	static void
  freenames(DIR *dir)
  {
! 	struct name *o = dir->names, *n;
  	for (o = dir->names;  o;  o = n) {
  		n = o->next;
  		free(o);
--- 251,257 ----
  	static void
  freenames(DIR *dir)
  {
! 	struct dirnames *o = dir->names, *n;
  	for (o = dir->names;  o;  o = n) {
  		n = o->next;
  		free(o);
diff -cb orig/makefile.mk ms/makefile.mk
*** orig/makefile.mk	Fri Mar 06 10:32:52 1992
--- ms/makefile.mk	Fri Mar 06 11:41:30 1992
***************
*** 29,35 ****
  
  nmake.mk : ../Makefile ms.mkh nmake.mkh rlog.rsp
  	$(EDIT) >$@ -e \
! 		'/$(linksource)/{s|.*|!IF "$$(OS)" == "os2"|; p; s|.*|	$$(LINK) $$($$@) $$(LDLIBS)|; p; s|.*|	$$(BIND) $$@ $$(BINDN)|; p; s|.*|!ELSE|; p; s|.*|	$(linktarget)|; p; s|.*|!ENDIF|; }'
  
  rcstest : ../rcstest
  	sed \
--- 29,35 ----
  
  nmake.mk : ../Makefile ms.mkh nmake.mkh rlog.rsp
  	$(EDIT) >$@ -e \
! 		'/$(linksource)/{h; s|.*|!IF "$$(OS)" == "os2"|; p; g; p; s|.*|	$$(BIND) $$@ $$(BINDN)|; p; s|.*|!ELSE|; p; s|.*|	$(linktarget)|; p; s|.*|!ENDIF|; }'
  
  rcstest : ../rcstest
  	sed \
diff -cb orig/nmake.mkh ms/nmake.mkh
*** orig/nmake.mkh	Fri Mar 06 10:32:56 1992
--- ms/nmake.mkh	Fri Mar 06 11:47:26 1992
***************
*** 8,14 ****
  
  !IF "$(OS)" == "os2"
  CC_286 = -G2
! CC_D = -D__OS2__=1
  LDLIBS = ms\rcs.def -Lp -link $(LDFLAGS)
  LINK = cl -nologo
  !ELSE
--- 8,14 ----
  
  !IF "$(OS)" == "os2"
  CC_286 = -G2
! CC_D = -D__OS2__=1 -Dbad_creat0=0 -Dbad_chmod_close=0
  LDLIBS = ms\rcs.def -Lp -link $(LDFLAGS)
  LINK = cl -nologo
  !ELSE
***************
*** 42,48 ****
  
  INSTALL = copy
  
! LDFLAGS = $(LD_DEBUG)/ST:16384
  
  # You may have to change the following line; there's no standard.
  LIB = \msc\lib\$(s)
--- 42,48 ----
  
  INSTALL = copy
  
! LDFLAGS = $(LD_DEBUG)/ST:16384 /NOE
  
  # You may have to change the following line; there's no standard.
  LIB = \msc\lib\$(s)
