ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/paths.h
(Generate patch)

Comparing ray/src/common/paths.h (file contents):
Revision 2.17 by schorsch, Thu Jul 3 22:41:44 2003 UTC vs.
Revision 2.24 by greg, Fri Jun 29 23:09:06 2012 UTC

# Line 4 | Line 4
4   */
5   #ifndef _RAD_PATHS_H_
6   #define _RAD_PATHS_H_
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
7  
8   #include <stdio.h>
9   #include <stdlib.h>
# Line 17 | Line 14 | extern "C" {
14  
15   #ifdef _WIN32
16    #include <io.h>
17 +  #include <direct.h> /* getcwd(), chdir(), _mkdir(), etc. */
18  
19    #define access _access
20 +  #define mkdir(dirname,perms) _mkdir(dirname)
21    #define PATH_MAX _MAX_PATH
22 +  #define NULL_DEVICE   "NUL"
23    #define DIRSEP                '/'
24 <  #define ISDIRSEP(c)   ((c)=='/' || (c)=='\\')
25 <  #define ISABS(s)      ((s)!=NULL \
26 <                  && (s[0])!='\0' \
27 <          && (   ISDIRSEP(s[0]) \
28 <              || (   (s[1])!='\0' \
29 <                  && (isupper(s[0])||islower(s[0])) \
30 <                  && (s[1])==':')))
24 >  #define ISDIRSEP(c)   (((c)=='/') | ((c)=='\\'))
25 >  #define ISABS(s)      ( ISDIRSEP((s)[0]) \
26 >                || ( isupper((s)[0]) | islower((s)[0]) \
27 >                        && (s)[1]==':' && ISDIRSEP((s)[2]) ) )
28    #define CASEDIRSEP    case '/': case '\\'
29    #define PATHSEP               ';'
30    #define CURDIR                '.'
# Line 41 | Line 38 | extern "C" {
38    /* <io.h> only does half the work for access() */
39    #ifndef F_OK
40      #define  F_OK 00
44    #define  X_OK 01
41      #define  W_OK 02
46    #define  R_OK 04
42    #endif
43 +  #ifndef R_OK
44 +    #define X_OK 01
45 +    #define R_OK 04
46 +  #endif
47    /* to make the permissions user specific we'd need to use CreateFile() */
48    #ifndef S_IRUSR
49      #define S_IRUSR _S_IREAD
50      #define S_IWUSR _S_IWRITE
51    #endif
53 extern char  *fixargv0();
52  
53 +  #ifdef __cplusplus
54 +    extern "C" {
55 +  #endif
56 +  extern char  *fixargv0();
57 +  #ifdef __cplusplus
58 +    }
59 +  #endif
60 +
61   #else /* everything but Windows */
62    #include <unistd.h>
63    #include <sys/param.h>
# Line 66 | Line 72 | extern char  *fixargv0();
72  
73    #ifdef AMIGA
74  
75 +        #define NULL_DEVICE     "NIL:"
76      #define DIRSEP              '/'
77 <    #define ISABS(s) ((s)!=NULL && (ISDIRSEP(s[0])))
77 >    #define ISABS(s)            ISDIRSEP((s)[0])
78      #define PATHSEP             ';'
79          #define CURDIR          '.'
80      #define DEFAULT_TEMPDIRS {"/var/tmp", "/usr/tmp", "/tmp", ".", NULL}
# Line 86 | Line 93 | extern char  *fixargv0();
93          /* this is defined as _PATH_DEVNULL in /usr/include/paths.h on Linux */
94          #define NULL_DEVICE     "/dev/null"
95      #define DIRSEP              '/'
96 <    #define ISABS(s) ((s)!=NULL && (ISDIRSEP(s[0])))
96 >    #define ISABS(s)            ISDIRSEP((s)[0])
97      #define PATHSEP             ':'
98          #define CURDIR          '.'
99      #define DEFAULT_TEMPDIRS {"/var/tmp", "/usr/tmp", "/tmp", ".", NULL}
100 <    #define TEMPLATE    "/usr/tmp/rtXXXXXX"
100 >    #define TEMPLATE    "/tmp/rtXXXXXX"
101      #define TEMPLEN             17
102      #define ULIBVAR             "RAYPATH"
103      #ifndef DEFPATH
# Line 108 | Line 115 | extern char  *fixargv0();
115    #define CASEDIRSEP    case DIRSEP
116   #endif
117  
118 + #ifdef __cplusplus
119 + extern "C" {
120 + #endif
121  
122   /* Find a writeable directory for temporary files */
123   /* If s is NULL, we return a static string */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines