[vala] Use Path.build_path instead of using raw string.printf



commit af0aa50cf5cc4f834f550d375a1f6c095d2483ce
Author: Luca Bruno <lucabru src gnome org>
Date:   Mon Sep 5 23:26:45 2011 +0200

    Use Path.build_path instead of using raw string.printf
    
    Fixes a regression introduced by commit 7f7a991aa7689137e166.
    Using Path.build_path prevents having double slash (//) in the path
    which could be interpreted as comments by the C compiler.
    
    Fixes bug 658296.

 vala/valacodecontext.vala |   12 ++++++------
 vala/valasourcefile.vala  |   10 +++++-----
 vapigen/valavapigen.vala  |    2 +-
 3 files changed, 12 insertions(+), 12 deletions(-)
---
diff --git a/vala/valacodecontext.vala b/vala/valacodecontext.vala
index c66af64..250e09e 100644
--- a/vala/valacodecontext.vala
+++ b/vala/valacodecontext.vala
@@ -345,7 +345,7 @@ public class Vala.CodeContext {
 			stdout.printf ("Loaded package `%s'\n", path);
 		}
 
-		var deps_filename = "%s/%s.deps".printf (Path.get_dirname (path), pkg);
+		var deps_filename = Path.build_path ("/", Path.get_dirname (path), pkg + ".deps");
 		if (!add_packages_from_file (deps_filename)) {
 			return false;
 		}
@@ -484,7 +484,7 @@ public class Vala.CodeContext {
 
 		if (path == null) {
 			/* last chance: try the package compiled-in vapi dir */
-			var filename = "%s/vapi/%s.vapi".printf (Config.PACKAGE_DATADIR, pkg);
+			var filename = Path.build_path ("/", Config.PACKAGE_DATADIR, "vapi", pkg + ".vapi");
 			if (FileUtils.test (filename, FileTest.EXISTS)) {
 				path = filename;
 			}
@@ -511,7 +511,7 @@ public class Vala.CodeContext {
 		}
 
 		// look into the same directory of .gir
-		metadata_filename = "%s/%s".printf (Path.get_dirname (gir_filename), metadata_basename);
+		metadata_filename = Path.build_path ("/", Path.get_dirname (gir_filename), metadata_basename);
 		if (FileUtils.test (metadata_filename, FileTest.EXISTS)) {
 			return metadata_filename;
 		}
@@ -524,7 +524,7 @@ public class Vala.CodeContext {
 
 		if (directories != null) {
 			foreach (string dir in directories) {
-				filename = "%s/%s".printf (dir, basename);
+				filename = Path.build_path ("/", dir, basename);
 				if (FileUtils.test (filename, FileTest.EXISTS)) {
 					return filename;
 				}
@@ -533,7 +533,7 @@ public class Vala.CodeContext {
 
 		if (versioned_data_dir != null) {
 			foreach (string dir in Environment.get_system_data_dirs ()) {
-				filename = "%s/%s/%s".printf (dir, versioned_data_dir, basename);
+				filename = Path.build_path ("/", dir, versioned_data_dir, basename);
 				if (FileUtils.test (filename, FileTest.EXISTS)) {
 					return filename;
 				}
@@ -542,7 +542,7 @@ public class Vala.CodeContext {
 
 		if (data_dir != null) {
 			foreach (string dir in Environment.get_system_data_dirs ()) {
-				filename = "%s/%s/%s".printf (dir, data_dir, basename);
+				filename = Path.build_path ("/", dir, data_dir, basename);
 				if (FileUtils.test (filename, FileTest.EXISTS)) {
 					return filename;
 				}
diff --git a/vala/valasourcefile.vala b/vala/valasourcefile.vala
index 3c0eb39..1bec9a2 100644
--- a/vala/valasourcefile.vala
+++ b/vala/valasourcefile.vala
@@ -189,7 +189,7 @@ public class Vala.SourceFile {
 		if (context.directory == null) {
 			return get_subdir ();
 		}
-		return "%s/%s".printf (context.directory, get_subdir ());
+		return Path.build_path ("/", context.directory, get_subdir ());
 	}
 
 	private string get_basename () {
@@ -215,10 +215,10 @@ public class Vala.SourceFile {
 			if (context.run_output) {
 				csource_filename = context.output + ".c";
 			} else if (context.ccode_only || context.save_csources) {
-				csource_filename = "%s%s.c".printf (get_destination_directory (), get_basename ());
+				csource_filename = Path.build_path ("/", get_destination_directory (), get_basename () + ".c");
 			} else {
 				// temporary file
-				csource_filename = "%s%s.vala.c".printf (get_destination_directory (), get_basename ());
+				csource_filename = Path.build_path ("/", get_destination_directory (), get_basename () + ".vala.c");
 			}
 		}
 		return csource_filename;
@@ -235,10 +235,10 @@ public class Vala.SourceFile {
 			if (context.header_filename != null) {
 				cinclude_filename = Path.get_basename (context.header_filename);
 				if (context.includedir != null) {
-					cinclude_filename = "%s/%s".printf (context.includedir, cinclude_filename);
+					cinclude_filename = Path.build_path (context.includedir, cinclude_filename);
 				}
 			} else {
-				cinclude_filename = "%s%s.h".printf (get_subdir (), get_basename ());
+				cinclude_filename = Path.build_path ("/", get_subdir (), get_basename () + ".h");
 			}
 		}
 		return cinclude_filename;
diff --git a/vapigen/valavapigen.vala b/vapigen/valavapigen.vala
index 2129391..2148e60 100644
--- a/vapigen/valavapigen.vala
+++ b/vapigen/valavapigen.vala
@@ -186,7 +186,7 @@ class Vala.VAPIGen : Object {
 		var interface_writer = new CodeWriter ();
 		var vapi_filename = "%s.vapi".printf (library);
 		if (directory != null) {
-			vapi_filename = "%s/%s".printf (directory, vapi_filename);
+			vapi_filename = Path.build_path ("/", directory, vapi_filename);
 		}
 
 		interface_writer.write_file (context, vapi_filename);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]