From cb93f1ce53ff517e02b3651bcd743fd6a6420b40 Mon Sep 17 00:00:00 2001 From: "James K. Lowden" <jklowden@symas.com> Date: Fri, 27 Dec 2024 12:00:27 -0500 Subject: [PATCH] eliminate getcwd(3) --- gcc/cobol/genapi.cc | 4 ++-- gcc/cobol/util.cc | 19 +++++++++++-------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/gcc/cobol/genapi.cc b/gcc/cobol/genapi.cc index 5951f2f50e96..140d1f886388 100644 --- a/gcc/cobol/genapi.cc +++ b/gcc/cobol/genapi.cc @@ -15090,8 +15090,8 @@ move_helper(tree size_error, // This is an INT static tree stash = gg_define_variable(UCHAR_P, "..mh_stash", vs_file_static); - tree st_data; - tree st_size; + tree st_data = NULL_TREE; + tree st_size = NULL_TREE; if( restore_on_error ) { diff --git a/gcc/cobol/util.cc b/gcc/cobol/util.cc index 662a17ca8c42..141ce1dbb1bb 100644 --- a/gcc/cobol/util.cc +++ b/gcc/cobol/util.cc @@ -1985,14 +1985,17 @@ class unique_stack : public std::stack<input_file_t> } size_t n = c.size(); if( n > 1 || yydebug ) { - static char wd[PATH_MAX]; - getcwd(wd, sizeof(wd)); - warnx( "depth line copybook filename\n" - " " - "----- ---- --------" - "----------------------------------------"); - for( const auto& v : c ) { - warnx( " %4zu %4d %s", c.size() - --n, v.lineno, no_wd(wd, v.name) ); + char *wd = get_current_dir_name(); + if( wd ) { + warnx( "depth line copybook filename\n" + " " + "----- ---- --------" + "----------------------------------------"); + for( const auto& v : c ) { + warnx( " %4zu %4d %s", c.size() - --n, v.lineno, no_wd(wd, v.name) ); + } + } else { + warnx("warning: %s:%d: %m", __func__, __LINE__); } } return false; -- GitLab