Changeset 361 for trunk/src/gmake
- Timestamp:
- Dec 13, 2005, 5:42:38 AM (20 years ago)
- Location:
- trunk/src/gmake/kmkbuiltin
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/gmake/kmkbuiltin/mkdir.c
r299 r361 39 39 #endif /* not lint */ 40 40 #endif 41 #ifndef _MSC_VER 41 42 #include <sys/cdefs.h> 43 #endif 42 44 //__FBSDID("$FreeBSD: src/bin/mkdir/mkdir.c,v 1.28 2004/04/06 20:06:48 markm Exp $"); 43 45 … … 47 49 //#include <err.h> 48 50 #include <errno.h> 51 #ifndef _MSC_VER 49 52 #include <libgen.h> 53 #endif 50 54 #include <stdio.h> 51 55 #include <stdlib.h> 52 56 #include <string.h> 57 #ifndef _MSC_VER 53 58 #include <sysexits.h> 54 59 #include <unistd.h> 60 #endif 61 62 #ifdef _MSC_VER 63 #define setmode setmode_msc 64 #include <stdarg.h> 65 #include <io.h> 66 #include <direct.h> 67 #undef setmode 68 #include "getopt.h" 69 70 typedef int mode_t; 71 #define EX_USAGE 1 72 void warn(const char *fmt, ...) 73 { 74 int err = errno; 75 va_list args; 76 va_start(args, fmt); 77 fprintf(stderr, "mkdir: "); 78 vfprintf(stderr, fmt, args); 79 fprintf(stderr, ": %s\n", strerror(err)); 80 va_end(args); 81 } 82 83 int mkdir_msc(const char *path, mode_t mode) 84 { 85 int rc = mkdir(path); 86 if (rc) 87 { 88 int len = strlen(path); 89 if (len > 0 && (path[len - 1] == '/' || path[len - 1] == '\\')) 90 { 91 char *str = strdup(path); 92 while (len > 0 && (str[len - 1] == '/' || str[len - 1] == '\\')) 93 str[--len] = '\0'; 94 rc = mkdir(str); 95 free(str); 96 } 97 } 98 return rc; 99 } 100 #define mkdir(a,b) mkdir_msc(a,b) 101 102 char *dirname(char *path) 103 { 104 return path; 105 } 106 107 #define S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR) 108 #define S_IRWXG 0000070 109 #define S_IRWXO 0000007 110 #define S_IRWXU (_S_IREAD | _S_IWRITE | _S_IEXEC) 111 #define S_IXUSR _S_IEXEC 112 #define S_IWUSR _S_IWRITE 113 #define S_IRUSR _S_IREAD 114 115 #endif 55 116 56 117 extern void * setmode(const char *p); -
trunk/src/gmake/kmkbuiltin/setmode.c
r227 r361 38 38 static char sccsid[] = "@(#)setmode.c 8.2 (Berkeley) 3/25/94"; 39 39 #endif /* LIBC_SCCS and not lint */ 40 #ifndef _MSC_VER 40 41 #include <sys/cdefs.h> 42 #endif 41 43 //__FBSDID("$FreeBSD: src/lib/libc/gen/setmode.c,v 1.9 2003/02/23 00:24:03 mikeh Exp $"); 42 44 … … 49 51 #include <stddef.h> 50 52 #include <stdlib.h> 53 #ifndef _MSC_VER 51 54 #include <unistd.h> 55 #endif 52 56 53 57 #ifdef SETMODE_DEBUG … … 55 59 #endif 56 60 //#include "un-namespace.h" 61 62 #ifdef _MSC_VER 63 #define setmode setmode_msc 64 #include <io.h> 65 #undef setmode 66 typedef unsigned int u_int; 67 typedef int mode_t; 68 #define S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR) 69 #define S_IRWXU (_S_IREAD | _S_IWRITE | _S_IEXEC) 70 #define S_IXUSR _S_IEXEC 71 #define S_IWUSR _S_IWRITE 72 #define S_IRUSR _S_IREAD 73 #define S_IRWXG 0000070 74 #define S_IRGRP 0000040 75 #define S_IWGRP 0000020 76 #define S_IXGRP 0000010 77 #define S_IRWXO 0000007 78 #define S_IROTH 0000004 79 #define S_IWOTH 0000002 80 #define S_IXOTH 0000001 81 #define S_ISUID 0004000 82 #define S_ISGID 0002000 83 #endif /* _MSC_VER */ 84 57 85 58 86 #define SET_LEN 6 /* initial # of bitcmd struct to malloc */ … … 187 215 char op, *ep; 188 216 BITCMD *set, *saveset, *endset; 217 #ifndef _MSC_VER 189 218 sigset_t sigset, sigoset; 219 #endif 190 220 mode_t mask; 191 221 int equalopdone=0, permXbits, setlen; … … 201 231 * as best we can. 202 232 */ 233 #ifndef _MSC_VER 203 234 sigfillset(&sigset); 204 235 (void)sigprocmask(SIG_BLOCK, &sigset, &sigoset); 236 #endif 205 237 (void)umask(mask = umask(0)); 206 238 mask = ~mask; 239 #ifndef _MSC_VER 207 240 (void)sigprocmask(SIG_SETMASK, &sigoset, NULL); 241 #endif 208 242 209 243 setlen = SET_LEN + 2;
Note:
See TracChangeset
for help on using the changeset viewer.