NetWare tweaks from Ananth Kesari.
Jarkko Hietaniemi [Fri, 14 Sep 2001 13:55:56 +0000 (13:55 +0000)]
p4raw-id: //depot/perl@12018

NetWare/NWUtil.c
NetWare/Nwmain.c
NetWare/Nwpipe.c
NetWare/nwutil.h

index ea0e485..5174fe3 100644 (file)
@@ -755,11 +755,16 @@ char* fnMy_MkTemp(char* templatestr)
                        pPid = numbuf;
 
 /**
-               Backtick operation uses temp files that are stored under DEFPERLTEMP directory.
-               They are temporarily used and then cleaned up after usage.
-               In the process of operation to allow for more temp files, the below logic is used.
-               This allows 26 files (like, pla00015.tmp through plz00015.tmp) plus
-               26x26=676 (like, plaa0015.tmp through plzz0015.tmp)
+               Backtick operation uses temp files that are stored under NWDEFPERLTEMP
+               directory. They are temporarily used and then cleaned up after usage.
+               In cases where multiple backtick operations are used that call some
+               complex scripts, new temp files will be created before the old ones are
+               deleted. So, we need to have a provision to create many temp files.
+               Hence the below logic. It is found that provision for 26 files may
+               not be enough in some cases.
+
+               This below logic allows 26 files (like, pla00015.tmp through plz00015.tmp)
+               plus 6x26=676 (like, plaa0015.tmp through plzz0015.tmp)
 **/
 
                letter = 'a';
index 0e8bf0b..9fb2e50 100644 (file)
@@ -160,8 +160,8 @@ void main(int argc, char *argv[])
 
 //     Ensure that we have a "temp" directory
        fnSetupNamespace();
-       if (access(DEFPERLTEMP, 0) != 0)
-               mkdir(DEFPERLTEMP);
+       if (access(NWDEFPERLTEMP, 0) != 0)
+               mkdir(NWDEFPERLTEMP);
 
        // Create the file NUL if not present. This is done only once per NLM load.
        // This is required for -e.
@@ -176,7 +176,7 @@ void main(int argc, char *argv[])
        {
                char sNUL[MAX_DN_BYTES] = {'\0'};
 
-               strcpy(sNUL, DEFPERLROOT);
+               strcpy(sNUL, NWDEFPERLROOT);
                strcat(sNUL, "\\nul");
                if (access((const char *)sNUL, 0) != 0)
                {
@@ -308,7 +308,7 @@ void fnSigTermHandler(int sig)
        {
                char sNUL[MAX_DN_BYTES] = {'\0'};
 
-               strcpy(sNUL, DEFPERLROOT);
+               strcpy(sNUL, NWDEFPERLROOT);
                strcat(sNUL, "\\nul");
                if (access((const char *)sNUL, 0) == 0)
                {
@@ -530,7 +530,7 @@ void fnLaunchPerl(void* context)
        {
                // get the default working directory name
                //
-               defaultDir = fnNwGetEnvironmentStr("PERL_ROOT", DEFPERLROOT);
+               defaultDir = fnNwGetEnvironmentStr("PERL_ROOT", NWDEFPERLROOT);
        }
        else
                defaultDir = getcwd(curdir, sizeof(curdir)-1);
index 0deffe5..9caf2da 100644 (file)
@@ -344,7 +344,7 @@ FILE* fnPipeFileOpen(PTEMPPIPEFILE ptpf, char* command, char* mode)
 
        // Create a temporary file name
        //
-       strncpy ( tempName, fnNwGetEnvironmentStr((char *)"TEMP", DEFPERLTEMP), (_MAX_PATH - 20) );
+       strncpy ( tempName, fnNwGetEnvironmentStr((char *)"TEMP", NWDEFPERLTEMP), (_MAX_PATH - 20) );
        tempName[_MAX_PATH-20] = '\0';
        strcat(tempName, (char *)"\\plXXXXXX.tmp");
        if (!fnMy_MkTemp(tempName))
index 2d5dd0f..6c8f144 100644 (file)
@@ -83,16 +83,16 @@ void fnInternalPerlLaunchHandler(char* cmdLine);
 char* fnMy_MkTemp(char* templatestr);
 
 
-/* DEFPERLROOT:
+/* NWDEFPERLROOT:
  *  This symbol contains the name of the starting default directory to search
  *  for scripts to run.
  */
-#define DEFPERLROOT "sys:\\perl\\scripts"
+#define NWDEFPERLROOT "sys:\\perl\\scripts"
 
-/* DEFPERLTEMP:
+/* NWDEFPERLTEMP:
  *  This symbol contains the name of the default temp files directory.
  */
-#define DEFPERLTEMP "sys:\\perl\\temp"
+#define NWDEFPERLTEMP "sys:\\perl\\temp"
 
 
 #endif // __NWUtil_H__