resetting manifest requested domain to floor
[platform/upstream/db4.git] / os_brew / getcwd.c
1 /*-
2  * See the file LICENSE for redistribution information.
3  *
4  * Copyright (c) 2006-2009 Oracle.  All rights reserved.
5  *
6  * $Id$
7  */
8
9 #include "db_config.h"
10
11 #include "db_int.h"
12
13 /*
14  * getcwd --
15  */
16 char *
17 getcwd(buf, size)
18         char *buf;
19         size_t size;
20 {
21         IFileMgr *pIFileMgr;
22         int ret;
23 #ifndef HAVE_BREW_SDK2
24         int outlen;
25 #endif
26
27         FILE_MANAGER_CREATE(NULL, pIFileMgr, ret);
28         if (ret != 0) {
29                 __os_set_errno(ret);
30                 return (NULL);
31         }
32
33         buf[0] = '\0';
34
35 #ifdef AEE_SIMULATOR
36         /* If AEE_SIMULATOR, we should mimic the resolvepath. */
37         if (IFILEMGR_Test(pIFileMgr, "fs:/") == SUCCESS)
38                 /* Current directory. */
39                 (void)strncpy(buf, "fs:/", size - 1);
40         else
41                 FILE_MANAGER_ERR(
42                     NULL, pIFileMgr, NULL, "IFILEMGR_ResolvePath", ret);
43 #else
44 #ifndef HAVE_BREW_SDK2
45         outlen = size;
46         if (IFILEMGR_ResolvePath(pIFileMgr, ".", buf, &outlen) != SUCCESS)
47                 FILE_MANAGER_ERR(
48                     NULL, pIFileMgr, NULL, "IFILEMGR_ResolvePath", ret);
49 #endif
50 #endif
51
52         IFILEMGR_Release(pIFileMgr);
53
54         if (ret == 0)
55                 return (buf);
56
57         __os_set_errno(ret);
58
59         COMPQUIET(size, 0);
60         return (NULL);
61 }