From 29be4d9dee1263b36e33421dd8ea69b9b7308391 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 14 Sep 2018 11:28:45 -0600 Subject: 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/common/pathstuff.c | 11 +++++++++++ gdb/common/pathstuff.h | 7 +++++++ 2 files changed, 18 insertions(+) (limited to 'gdb/common') 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 */ -- cgit v1.1