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 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