[valadoc] libvaladoc: Use --api-version instead of --version



commit df9357f508feeff9e7730a7124b7d700829a5951
Author: Florian Brosch <flo brosch gmail com>
Date:   Fri Nov 30 00:50:10 2012 +0100

    libvaladoc: Use --api-version instead of --version

 src/libvaladoc/Makefile.am       |    2 +-
 src/libvaladoc/moduleloader.vala |   12 +++++++++---
 2 files changed, 10 insertions(+), 4 deletions(-)
---
diff --git a/src/libvaladoc/Makefile.am b/src/libvaladoc/Makefile.am
index 5b81e1f..2297c82 100644
--- a/src/libvaladoc/Makefile.am
+++ b/src/libvaladoc/Makefile.am
@@ -1,6 +1,6 @@
 NULL =
 
-DEFAULT_DRIVER = "`$(VALAC) --version`"
+DEFAULT_DRIVER = "`$(VALAC) --api-version >& /dev/null; if [ $$? = 0 ]; then $(VALAC) --api-version; else $(VALAC) --version; fi`"
 
 
 AM_CFLAGS = \
diff --git a/src/libvaladoc/moduleloader.vala b/src/libvaladoc/moduleloader.vala
index 6de9f8d..1b7d472 100644
--- a/src/libvaladoc/moduleloader.vala
+++ b/src/libvaladoc/moduleloader.vala
@@ -128,7 +128,10 @@ public class Valadoc.ModuleLoader : Object {
 		}
 
 		string[] segments = driverpath.split (".");
-		if (segments.length != 3 && segments.length != 4) {
+		if (segments.length != 2 && // e.g. 0.20, --pkg-version
+			segments.length != 3 && // e.g. 0.20.3, --version
+			segments.length != 4)   // e.g. Vala 0.18.0.60-a4cdb, --version
+		{
 			reporter.simple_error ("error: Invalid driver version format.");
 			return null;
 		}
@@ -136,12 +139,15 @@ public class Valadoc.ModuleLoader : Object {
 
 		int64 segment_a;
 		int64 segment_b;
-		int64 segment_c;
+		int64 segment_c = 0;
 		bool tmp;
 
 		tmp  = int64.try_parse (segments[0], out segment_a);
 		tmp &= int64.try_parse (segments[1], out segment_b);
-		tmp &= int64.try_parse (segments[2], out segment_c);
+
+		if (segments.length > 2) {
+			tmp &= int64.try_parse (segments[2], out segment_c);
+		}
 
 		if (!tmp) {
 			reporter.simple_error ("error: Invalid driver version format.");



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