Make the win32 alias match any version of windows for native clauses (FELIX-438).
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@605027 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/framework/src/main/java/org/apache/felix/framework/util/manifestparser/R4LibraryClause.java b/framework/src/main/java/org/apache/felix/framework/util/manifestparser/R4LibraryClause.java
index ee33c85..3227620 100644
--- a/framework/src/main/java/org/apache/felix/framework/util/manifestparser/R4LibraryClause.java
+++ b/framework/src/main/java/org/apache/felix/framework/util/manifestparser/R4LibraryClause.java
@@ -134,9 +134,19 @@
private boolean checkOSNames(String currentOSName, String[] osnames)
{
+ boolean win32 = currentOSName.startsWith("win") &&
+ (currentOSName.equals("windows95") ||
+ currentOSName.equals("windows98") ||
+ currentOSName.equals("windowsnt") ||
+ currentOSName.equals("windows2000") ||
+ currentOSName.equals("windowsxp") ||
+ currentOSName.equals("windowsce") ||
+ currentOSName.equals("windowsvista"));
+
for (int i = 0; (osnames != null) && (i < osnames.length); i++)
{
- if (osnames[i].equals(currentOSName))
+ if (osnames[i].equals(currentOSName) ||
+ ("win32".equals(osnames[i]) && win32))
{
return true;
}
@@ -370,6 +380,10 @@
{
os = "windowsce";
}
+ else if (value.indexOf("vista") >= 0)
+ {
+ os = "windowsvista";
+ }
return os;
}
else if (value.startsWith("linux"))