/* Copyright (c) 2013 The Chromium Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file. */
#include <limits.h>
#include <string.h>
#include "nacl_io/kernel_intercept.h"
#include "nacl_io/kernel_wrap.h"
char* getcwd(char* buf, size_t size) {
// If size is 0, allocate as much as we need.
if (size == 0) {
char stack_buf[PATH_MAX + 1];
if (!ki_getcwd(stack_buf, PATH_MAX))
return NULL;
size = strlen(stack_buf) + 1;
}
// Allocate the buffer if needed
if (buf == NULL) {
buf = (char*)malloc(size);
}
return ki_getcwd(buf, size);
}