Changeset 3268


Ignore:
Timestamp:
May 1, 2007, 5:52:14 PM (18 years ago)
Author:
bird
Message:

Don't use the P_tmpdir #define and use the OS/2 TMP and TEMP variables as well to find a usable tmp location. Temporary files are always binary.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/essentials/app-shells/bash/lib/sh/tmpfile.c

    r3231 r3268  
    6262
    6363#ifdef P_tmpdir
     64# ifdef __OS2__ /* P_tmpdir is bogus ("."). */
     65  sys_tmpdir = "/@unixroot/var/tmp";
     66# else
    6467  sys_tmpdir = P_tmpdir;
    65   if (file_iswdir (sys_tmpdir))
    66     return sys_tmpdir;
    67 #endif
    68 
     68# endif
     69  if (file_iswdir (sys_tmpdir))
     70    return sys_tmpdir;
     71#endif
     72
     73# ifdef __OS2__
     74  sys_tmpdir = "/@unixroot/tmp";
     75# else
    6976  sys_tmpdir = "/tmp";
    70   if (file_iswdir (sys_tmpdir))
    71     return sys_tmpdir;
    72 
     77# endif
     78  if (file_iswdir (sys_tmpdir))
     79    return sys_tmpdir;
     80
     81#ifdef __OS2__
     82  sys_tmpdir = "/@unixroot/var/tmp";
     83#else
    7384  sys_tmpdir = "/var/tmp";
    74   if (file_iswdir (sys_tmpdir))
    75     return sys_tmpdir;
    76 
     85#endif
     86  if (file_iswdir (sys_tmpdir))
     87    return sys_tmpdir;
     88
     89#ifdef __OS2__
     90  sys_tmpdir = "/@unixroot/usr/tmp";
     91#else
    7792  sys_tmpdir = "/usr/tmp";
    78   if (file_iswdir (sys_tmpdir))
    79     return sys_tmpdir;
     93#endif
     94  if (file_iswdir (sys_tmpdir))
     95    return sys_tmpdir;
     96
     97#ifdef __OS2__
     98  sys_tmpdir = get_string_value ("TMP");
     99  if (file_iswdir (sys_tmpdir))
     100    return sys_tmpdir;
     101
     102  sys_tmpdir = get_string_value ("TEMP");
     103  if (file_iswdir (sys_tmpdir))
     104    return sys_tmpdir;
     105#endif
    80106
    81107  sys_tmpdir = DEFAULT_TMPDIR;
     
    185211      if (tmpnamelen > 0 && tmpnamelen < 32)
    186212        filename[tdlen + 1 + tmpnamelen] = '\0';
     213# ifdef __OS2__
     214      fd = open (filename, BASEOPENFLAGS | ((flags & MT_READWRITE) ? O_RDWR : O_WRONLY) | O_BINARY, 0600);
     215# else
    187216      fd = open (filename, BASEOPENFLAGS | ((flags & MT_READWRITE) ? O_RDWR : O_WRONLY), 0600);
     217# endif
    188218    }
    189219  while (fd < 0 && errno == EEXIST);
     
    210240  if (fd < 0)
    211241    return ((FILE *)NULL);
     242#ifdef __OS2__
     243  fp = fdopen (fd, (flags & MT_READWRITE) ? "w+b" : "wb");
     244#else
    212245  fp = fdopen (fd, (flags & MT_READWRITE) ? "w+" : "w");
     246#endif
    213247  if (fp == 0)
    214248    close (fd);
Note: See TracChangeset for help on using the changeset viewer.