xref: /openbmc/linux/tools/perf/util/get_current_dir_name.c (revision 762f99f4f3cb41a775b5157dd761217beba65873)
1e5653eb8SArnaldo Carvalho de Melo // SPDX-License-Identifier: LGPL-2.1
2e5653eb8SArnaldo Carvalho de Melo // Copyright (C) 2018, 2019 Red Hat Inc, Arnaldo Carvalho de Melo <acme@redhat.com>
38feb8efeSArnaldo Carvalho de Melo //
48feb8efeSArnaldo Carvalho de Melo #ifndef HAVE_GET_CURRENT_DIR_NAME
5e5653eb8SArnaldo Carvalho de Melo #include "get_current_dir_name.h"
6*128dbd78SAlexey Dobriyan #include <limits.h>
7*128dbd78SAlexey Dobriyan #include <string.h>
88feb8efeSArnaldo Carvalho de Melo #include <unistd.h>
98feb8efeSArnaldo Carvalho de Melo 
108feb8efeSArnaldo Carvalho de Melo /* Android's 'bionic' library, for one, doesn't have this */
118feb8efeSArnaldo Carvalho de Melo 
get_current_dir_name(void)128feb8efeSArnaldo Carvalho de Melo char *get_current_dir_name(void)
138feb8efeSArnaldo Carvalho de Melo {
148feb8efeSArnaldo Carvalho de Melo 	char pwd[PATH_MAX];
158feb8efeSArnaldo Carvalho de Melo 
168feb8efeSArnaldo Carvalho de Melo 	return getcwd(pwd, sizeof(pwd)) == NULL ? NULL : strdup(pwd);
178feb8efeSArnaldo Carvalho de Melo }
188feb8efeSArnaldo Carvalho de Melo #endif // HAVE_GET_CURRENT_DIR_NAME
19