with the Client for Open Enterprise Server 2 SP4 (IR6) I am seeing a failure. It works in SP3 (IR8) .

To reproduce:
  • map to a netware shared drive (e.g. NET USE I: \\MyDomain\NWServer)
  • make an empty folder (e.g. cd \ & rd t /s & md t)
  • Add the subdirectory 'AL2' (md \t\al2)
  • change to the first directory (cd \t)
  • copy in the test executable with a rename function and execute it


The test executable I used was compiled with VC++ (Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.21022.08 for 80x86) as well as an ancient version of Borland - the results were identical. After the executable is run, the following line fails:
echo. > \t\TEMP.$$$

The code below creates a file named 'TEMP.$$$' then renames and moves the file into the AL2 directory. Something of TEMP.$$$ is apparently left behind.

Code:
#include <stdio.h>
#include <string.h>
#include <process.h>

char mapfname[40],cfname[40],flgfname[40],cnwfname[40],line[400];
char exefname[40],syscmd[128];
char name[300],fakename[40];
char path[80];
FILE *fp,*fp1,*fp2,*fp3;

void main(int argc,char **argv)
{
	char *ptr;
(void)argc;
(void)argv;

	strcpy(name,"DAC");
	strcpy(path,"AL2");
	sprintf(mapfname,"%s\\%s.MAP",path,name);
	sprintf(exefname,"%s\\%s.EXE",path,name);
	sprintf(cfname,"%s\\%s_MAP.C",path,name);
	sprintf(flgfname,"%s\\%s_MAP.FLG",path,name);
	sprintf(cnwfname,"%s\\%s.CNW",path,name);

	fp1 = fopen("temp.$$$","wt");
	fputs("Some nonsense\n",fp1);
	fcloseall();
	remove(cfname);
	rename("temp.$$$",cfname);

	exit(0);
}