summaryrefslogtreecommitdiff
path: root/ccode
diff options
context:
space:
mode:
authorRémy Saissy <remy.saissy@gmail.com>2010-05-23 19:43:46 +0200
committerJürg Billeter <j@bitron.ch>2010-06-07 20:53:11 +0200
commit43ce3d5003afdc4d561cf5f83b0693db870977b2 (patch)
tree0e4d053e4a93d6931af287b446c1dfb186cc60c0 /ccode
parent2d97b4c471b45ec3cf0a7f19bc560d652a2560db (diff)
downloadvala-43ce3d5003afdc4d561cf5f83b0693db870977b2.tar.gz
Create destination directory when writing C files
Fixes bug 612336.
Diffstat (limited to 'ccode')
-rw-r--r--ccode/valaccodewriter.vala6
1 files changed, 6 insertions, 0 deletions
diff --git a/ccode/valaccodewriter.vala b/ccode/valaccodewriter.vala
index ea10cbe82..8f2575437 100644
--- a/ccode/valaccodewriter.vala
+++ b/ccode/valaccodewriter.vala
@@ -77,6 +77,12 @@ public class Vala.CCodeWriter {
temp_filename = "%s.valatmp".printf (filename);
stream = FileStream.open (temp_filename, "w");
} else {
+ /*
+ * File doesn't exist. In case of a particular destination (-d flag),
+ * check and create the directory structure.
+ */
+ var dirname = Path.get_dirname (filename);
+ DirUtils.create_with_parents (dirname, 0755);
stream = FileStream.open (filename, "w");
}