From b5c424a96f06af5cbab2da1c4a99d82002319c1f Mon Sep 17 00:00:00 2001
From: Yann Leboulanger <asterix@lagaule.org>
Date: Tue, 10 Apr 2012 17:25:32 +0200
Subject: [PATCH] improve temp file search when using latex to prevent
 overwriting files

---
 src/common/latex.py | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/common/latex.py b/src/common/latex.py
index 7567eb6df4..72daa2aafe 100644
--- a/src/common/latex.py
+++ b/src/common/latex.py
@@ -59,8 +59,19 @@ def check_blacklist(str_):
 
 def get_tmpfile_name():
     random.seed()
-    int_ = random.randint(0, 100)
-    return os.path.join(gettempdir(), 'gajimtex_' + int_.__str__())
+    while(nb < 100):
+        int_ = random.randint(0, 10000)
+        filename = os.path.join(gettempdir(), 'gajimtex_' + int_.__str__())
+        # Check if a file to not overwrite it
+        ok = True
+        extensions = ['.tex', '.log', '.aux', '.dvi']
+        for ext in extensions:
+            if os.path.exists(filename + ext):
+                ok = False
+                break
+        if ok:
+            return filename
+    return filename
 
 def write_latex(filename, str_):
     texstr = '\\documentclass[12pt]{article}\\usepackage[dvips]{graphicx}'
-- 
GitLab