From 29be4d9dee1263b36e33421dd8ea69b9b7308391 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 14 Sep 2018 11:28:45 -0600 Subject: [PATCH] Move make_temp_filename to common/pathstuff.c Currently make_temp_filename is a function local to write_psymtabs_to_index. This patch moves it to pathstuff.c so that it can be used from other places in gdb. gdb/ChangeLog 2018-10-27 Tom Tromey * dwarf-index-write.c (write_psymtabs_to_index): Move make_temp_filename to common/pathstuff.c. * common/pathstuff.h (make_temp_filename): Declare. * common/pathstuff.c (make_temp_filename): New function, moved from dwarf-index-write.c. --- gdb/ChangeLog | 8 ++++++++ gdb/common/pathstuff.c | 11 +++++++++++ gdb/common/pathstuff.h | 7 +++++++ gdb/dwarf-index-write.c | 11 +---------- 4 files changed, 27 insertions(+), 10 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 5c5c8b1..b9ffa69 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,13 @@ 2018-10-27 Tom Tromey + * dwarf-index-write.c (write_psymtabs_to_index): Move + make_temp_filename to common/pathstuff.c. + * common/pathstuff.h (make_temp_filename): Declare. + * common/pathstuff.c (make_temp_filename): New function, moved + from dwarf-index-write.c. + +2018-10-27 Tom Tromey + * procfs.c (procfs_target::create_inferior): Use get_shell. * cli/cli-cmds.c (shell_escape): Use get_shell. * windows-nat.c (windows_nat_target::create_inferior): Use diff --git a/gdb/common/pathstuff.c b/gdb/common/pathstuff.c index 6d8e53f..48ff861 100644 --- a/gdb/common/pathstuff.c +++ b/gdb/common/pathstuff.c @@ -202,3 +202,14 @@ get_shell () return ret; } + +/* See common/pathstuff.h. */ + +gdb::char_vector +make_temp_filename (const std::string &f) +{ + gdb::char_vector filename_temp (f.length () + 8); + strcpy (filename_temp.data (), f.c_str ()); + strcat (filename_temp.data () + f.size (), "-XXXXXX"); + return filename_temp; +} diff --git a/gdb/common/pathstuff.h b/gdb/common/pathstuff.h index 0a8caea..d57aaff 100644 --- a/gdb/common/pathstuff.h +++ b/gdb/common/pathstuff.h @@ -20,6 +20,8 @@ #ifndef PATHSTUFF_H #define PATHSTUFF_H +#include "common/byte-vector.h" + /* Path utilities. */ /* Return the real path of FILENAME, expanding all the symbolic links. @@ -69,4 +71,9 @@ extern std::string get_standard_cache_dir (); extern const char *get_shell (); +/* Make a filename suitable to pass to mkstemp based on F (e.g. + /tmp/foo -> /tmp/foo-XXXXXX). */ + +extern gdb::char_vector make_temp_filename (const std::string &f); + #endif /* PATHSTUFF_H */ diff --git a/gdb/dwarf-index-write.c b/gdb/dwarf-index-write.c index d4585af..4335c39 100644 --- a/gdb/dwarf-index-write.c +++ b/gdb/dwarf-index-write.c @@ -24,6 +24,7 @@ #include "common/byte-vector.h" #include "common/filestuff.h" #include "common/gdb_unlinker.h" +#include "common/pathstuff.h" #include "common/scoped_fd.h" #include "complaints.h" #include "dwarf-index-common.h" @@ -1560,16 +1561,6 @@ write_psymtabs_to_index (struct dwarf2_per_objfile *dwarf2_per_objfile, if (stat (objfile_name (objfile), &st) < 0) perror_with_name (objfile_name (objfile)); - /* Make a filename suitable to pass to mkstemp based on F (e.g. - /tmp/foo -> /tmp/foo-XXXXXX). */ - auto make_temp_filename = [] (const std::string &f) -> gdb::char_vector - { - gdb::char_vector filename_temp (f.length () + 8); - strcpy (filename_temp.data (), f.c_str ()); - strcat (filename_temp.data () + f.size (), "-XXXXXX"); - return filename_temp; - }; - std::string filename (std::string (dir) + SLASH_STRING + basename + (index_kind == dw_index_kind::DEBUG_NAMES ? INDEX5_SUFFIX : INDEX4_SUFFIX)); -- 2.7.4