• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* Copyright (c) 2013 The Chromium Authors. All rights reserved.
2  * Use of this source code is governed by a BSD-style license that can be
3  * found in the LICENSE file. */
4 
5 #include <limits.h>
6 #include <string.h>
7 
8 #include "nacl_io/kernel_intercept.h"
9 #include "nacl_io/kernel_wrap.h"
10 
getcwd(char * buf,size_t size)11 char* getcwd(char* buf, size_t size) {
12   // If size is 0, allocate as much as we need.
13   if (size == 0) {
14     char stack_buf[PATH_MAX + 1];
15     if (!ki_getcwd(stack_buf, PATH_MAX))
16       return NULL;
17     size = strlen(stack_buf) + 1;
18   }
19   // Allocate the buffer if needed
20   if (buf == NULL) {
21     buf = (char*)malloc(size);
22   }
23   return ki_getcwd(buf, size);
24 }
25