aboutsummaryrefslogtreecommitdiff
path: root/src/api/burn/WixToolset.Mba.Core
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2022-05-16 16:07:43 -0500
committerSean Hall <r.sean.hall@gmail.com>2022-05-17 22:54:13 -0500
commit46fb0597d4d6192833ddcf836f4bcf6295ef0aaf (patch)
treebfe188365bb37b298c42238d39568ebfc8809dcb /src/api/burn/WixToolset.Mba.Core
parent0ea53e27361cbfe664df98d717e55005f329aff1 (diff)
downloadwix-46fb0597d4d6192833ddcf836f4bcf6295ef0aaf.tar.gz
wix-46fb0597d4d6192833ddcf836f4bcf6295ef0aaf.tar.bz2
wix-46fb0597d4d6192833ddcf836f4bcf6295ef0aaf.zip
Keep track of when parts of verutil/WixVersions are missing.
Return null when WixVersion.TryParse returns false. 6776
Diffstat (limited to 'src/api/burn/WixToolset.Mba.Core')
-rw-r--r--src/api/burn/WixToolset.Mba.Core/VerUtil.cs4
-rw-r--r--src/api/burn/WixToolset.Mba.Core/VerUtilVersion.cs24
2 files changed, 28 insertions, 0 deletions
diff --git a/src/api/burn/WixToolset.Mba.Core/VerUtil.cs b/src/api/burn/WixToolset.Mba.Core/VerUtil.cs
index 611f9710..14552310 100644
--- a/src/api/burn/WixToolset.Mba.Core/VerUtil.cs
+++ b/src/api/burn/WixToolset.Mba.Core/VerUtil.cs
@@ -68,6 +68,10 @@ namespace WixToolset.Mba.Core
68 public IntPtr rgReleaseLabels; 68 public IntPtr rgReleaseLabels;
69 public IntPtr cchMetadataOffset; 69 public IntPtr cchMetadataOffset;
70 public bool fInvalid; 70 public bool fInvalid;
71 public bool fHasMajor;
72 public bool fHasMinor;
73 public bool fHasPatch;
74 public bool fHasRevision;
71 } 75 }
72 76
73 internal static string VersionStringFromOffset(IntPtr wzVersion, IntPtr cchOffset, int? cchLength = null) 77 internal static string VersionStringFromOffset(IntPtr wzVersion, IntPtr cchOffset, int? cchLength = null)
diff --git a/src/api/burn/WixToolset.Mba.Core/VerUtilVersion.cs b/src/api/burn/WixToolset.Mba.Core/VerUtilVersion.cs
index 731dedaf..e0312474 100644
--- a/src/api/burn/WixToolset.Mba.Core/VerUtilVersion.cs
+++ b/src/api/burn/WixToolset.Mba.Core/VerUtilVersion.cs
@@ -25,6 +25,10 @@ namespace WixToolset.Mba.Core
25 this.ReleaseLabels = new VerUtilVersionReleaseLabel[version.cReleaseLabels]; 25 this.ReleaseLabels = new VerUtilVersionReleaseLabel[version.cReleaseLabels];
26 this.Metadata = VerUtil.VersionStringFromOffset(version.sczVersion, version.cchMetadataOffset); 26 this.Metadata = VerUtil.VersionStringFromOffset(version.sczVersion, version.cchMetadataOffset);
27 this.IsInvalid = version.fInvalid; 27 this.IsInvalid = version.fInvalid;
28 this.HasMajor = version.fHasMajor;
29 this.HasMinor = version.fHasMinor;
30 this.HasPatch = version.fHasPatch;
31 this.HasRevision = version.fHasRevision;
28 32
29 for (var i = 0; i < version.cReleaseLabels; ++i) 33 for (var i = 0; i < version.cReleaseLabels; ++i)
30 { 34 {
@@ -80,6 +84,26 @@ namespace WixToolset.Mba.Core
80 /// </summary> 84 /// </summary>
81 public bool IsInvalid { get; private set; } 85 public bool IsInvalid { get; private set; }
82 86
87 /// <summary>
88 /// Whether the Major part was specified.
89 /// </summary>
90 public bool HasMajor { get; private set; }
91
92 /// <summary>
93 /// Whether the Minor part was specified.
94 /// </summary>
95 public bool HasMinor { get; private set; }
96
97 /// <summary>
98 /// Whether the Patch part was specified.
99 /// </summary>
100 public bool HasPatch { get; private set; }
101
102 /// <summary>
103 /// Whether the Revision part was specified.
104 /// </summary>
105 public bool HasRevision { get; private set; }
106
83 /// <inheritdoc/> 107 /// <inheritdoc/>
84 public void Dispose() 108 public void Dispose()
85 { 109 {