38 lines
		
	
	
		
			894 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			894 B
		
	
	
	
		
			C
		
	
	
	
| /* This is file GETCWD.C */
 | |
| /*
 | |
| ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
 | |
| **
 | |
| ** This file is distributed under the terms listed in the document
 | |
| ** "copying.dj", available from DJ Delorie at the address above.
 | |
| ** A copy of "copying.dj" should accompany this file; if not, a copy
 | |
| ** should be available from where this file was obtained.  This file
 | |
| ** may not be distributed without a verbatim copy of "copying.dj".
 | |
| **
 | |
| ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
 | |
| ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 | |
| */
 | |
| 
 | |
| #include <errno.h>
 | |
| 
 | |
| char *getcwd(char *buf, int n)
 | |
| {
 | |
|   char tmp[90];
 | |
|   getwd(tmp);
 | |
|   if (strlen(tmp)+1 > n)
 | |
|   {
 | |
|     errno = ERANGE;
 | |
|     return 0;
 | |
|   }
 | |
|   if (buf == 0)
 | |
|   {
 | |
|     buf = malloc(n);
 | |
|     if (buf == 0)
 | |
|     {
 | |
|       errno = ENOMEM;
 | |
|       return 0;
 | |
|     }
 | |
|   }
 | |
|   strcpy(buf, tmp);
 | |
|   return buf;
 | |
| }
 |