Home | History | Annotate | Download | only in syscalls
      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