4 * This file provides an implementation of the getcwd procedure
5 * that uses getwd, for systems with getwd but without getcwd.
7 * Copyright (c) 1993 The Regents of the University of California.
10 * Permission is hereby granted, without written agreement and without
11 * license or royalty fees, to use, copy, modify, and distribute this
12 * software and its documentation for any purpose, provided that the
13 * above copyright notice and the following two paragraphs appear in
14 * all copies of this software.
16 * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
17 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
18 * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
19 * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
21 * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
22 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
23 * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
24 * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
25 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
28 /* $Id: getcwd.c,v 1.3.12.1 2002/02/11 01:30:42 jrjackson Exp $ */
31 static char rcsid[] = "$Header: /cvsroot/amanda/amanda/common-src/getcwd.c,v 1.3.12.1 2002/02/11 01:30:42 jrjackson Exp $ SPRITE (Berkeley)";
36 #include <sys/param.h>
43 char *buf; /* Where to put path for current directory. */
44 size_t size; /* Number of bytes at buf. */
46 char realBuffer[MAXPATHLEN+1];
49 if (getwd(realBuffer) == NULL) {
51 * There's not much we can do besides guess at an errno to
52 * use for the result (the error message in realBuffer isn't
59 length = strlen(realBuffer);
64 strncpy(buf, realBuffer, size-1);