aboutsummaryrefslogtreecommitdiff
path: root/editors/openoffice.org-vcltesttool/files/patch-jvmaccess+source+sunversion.cxx
blob: 67e014595219b1edbfaf1e9ee8b2bc99f99f0506 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
--- ../jvmaccess/source/sunversion.cxx.orig	Sun Mar 30 00:40:02 2003
+++ ../jvmaccess/source/sunversion.cxx	Sun Mar 30 01:31:48 2003
@@ -102,6 +102,7 @@
         {
             //token can be "1", or "2_02"
             char* pUnderscore= strpbrk(tok,"_");
+            char* pLine= strpbrk(tok,"-");
             if( pUnderscore != NULL)
             {
                 // get the value before and after the underscore
@@ -115,6 +116,19 @@
                 // now get the part after "_"
                 m_nMinor= atoi( pUnderscore + 1);
             }
+            else if (pLine != NULL)
+            {
+                // get the value before and after the underscore
+                int len= pLine - tok;
+                char* pre= new char[len  + 1];
+                strncpy( pre, tok, len);
+                pre[len]= 0;
+                // convert the value before the "_" into a numeric value
+                arTokens[index]= atoi(pre);
+                delete[] pre;
+                // now get the part after "-"
+                m_nMinor= atoi( pLine + 1);
+            }
             else
             {
                 arTokens[index]= atoi(tok);
@@ -172,6 +186,19 @@
                     continue;
             }
         }
+        if(cCur == '-')
+        {
+            //check previous char
+            if(cLast >= 48 && cLast <= 57)
+            {
+                if(cNext == 'p')
+                    continue;
+            }
+        }
+        if(cCur == 'p')
+	{
+                    continue;
+	}
         //If we get here then the current character is not a number (0..9),'.','_'
         ret= false;
         break;