From: Tom Tromey Date: Fri, 14 Sep 2018 17:28:45 +0000 (-0600) Subject: Move make_temp_filename to common/pathstuff.c X-Git-Tag: users/ARM/embedded-binutils-master-2018q4~326 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=29be4d9dee1263b36e33421dd8ea69b9b7308391;p=thirdparty%2Fbinutils-gdb.git 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. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 5c5c8b12a6b..b9ffa69451b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +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. diff --git a/gdb/common/pathstuff.c b/gdb/common/pathstuff.c index 6d8e53f4e1b..48ff861edae 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 0a8caeacba7..d57aafff079 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 d4585af837c..4335c39074f 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));