You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pa...@apache.org on 2011/09/09 20:18:57 UTC
svn commit: r1167322 -
/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java
Author: pauls
Date: Fri Sep 9 18:18:57 2011
New Revision: 1167322
URL: http://svn.apache.org/viewvc?rev=1167322&view=rev
Log:
Make the parsing more lenient.
Modified:
felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java
Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java
URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java?rev=1167322&r1=1167321&r2=1167322&view=diff
==============================================================================
--- felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java (original)
+++ felix/trunk/framework/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java Fri Sep 9 18:18:57 2011
@@ -1537,7 +1537,6 @@ public class ManifestParser
public static void main(String[] headers)
{
String header = headers[0];
-
if (header != null)
{
if (header.length() == 0)
@@ -1662,10 +1661,25 @@ public class ManifestParser
{
quoted = false;
}
- state = VALUE;
+ if (!Character.isWhitespace(currentChar)) {
+ state = VALUE;
+ }
+ else {
+ currentPosition++;
+ }
break;
case VALUE:
- escaped = currentChar == '\\';
+ if (currentChar == '\\' )
+ {
+ if (escaped)
+ {
+ escaped = false;
+ }
+ else
+ {
+ escaped = true;
+ }
+ }
if (quoted && !escaped && currentChar == '\"')
{
quoted = false;