]> git.lyx.org Git - features.git/blobdiff - src/Buffer.cpp
Use a different naming scheme, per Enrico's suggestion.
[features.git] / src / Buffer.cpp
index b531127c9c935c00e967eeb528bc614265b64feb..7bc75e4c6008d941dd03edcbc05eb38c9c27877f 100644 (file)
@@ -1285,10 +1285,13 @@ bool Buffer::save() const
        // proper location once that has been done successfully. that
        // way we preserve the original file if something goes wrong.
        string const savepath = fileName().onlyPath().absFileName();
-       string savename = "tmp-" + fileName().onlyFileName();
+       int fnum = 1;
+       string const fname = fileName().onlyFileName();
+       string savename = "tmp-" + convert<string>(fnum) + "-" + fname;
        FileName savefile(addName(savepath, savename));
        while (savefile.exists()) {
-               if (savefile.absFileName().size() > 1024) {
+               // surely that is enough tries?
+               if (fnum > 100) {
                        Alert::error(_("Write failure"),
                                     bformat(_("Cannot find temporary filename for:\n  %1$s.\n"
                                         "Even %2$s exists!"),
@@ -1296,7 +1299,8 @@ bool Buffer::save() const
                                 from_utf8(savefile.absFileName())));
                        return false;
                }
-               savename = "tmp-" + savename;
+               fnum += 1;
+               savename = "tmp-" + convert<string>(fnum) + "-" + fname;
                savefile.set(addName(savepath, savename));
        }