summaryrefslogtreecommitdiff
path: root/giscanner/scannermain.py
diff options
context:
space:
mode:
Diffstat (limited to 'giscanner/scannermain.py')
-rwxr-xr-xgiscanner/scannermain.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
index 42466b90..633496fc 100755
--- a/giscanner/scannermain.py
+++ b/giscanner/scannermain.py
@@ -29,6 +29,7 @@ import errno
import optparse
import os
import shutil
+import stat
import subprocess
import sys
import tempfile
@@ -450,6 +451,13 @@ def write_output(data, options):
output = sys.stdout
elif options.reparse_validate_gir:
main_f, main_f_name = tempfile.mkstemp(suffix='.gir')
+
+ if (os.path.isfile(options.output)):
+ shutil.copystat(options.output, main_f_name)
+ else:
+ os.chmod(main_f_name,
+ stat.S_IWUSR | stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH)
+
with os.fdopen(main_f, 'wb') as main_f:
main_f.write(data)