root/native_client_sdk/src/libraries/nacl_io/syscalls/getcwd.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. getcwd

/* 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);
}

/* [<][>][^][v][top][bottom][index][help] */