blob: 67e014595219b1edbfaf1e9ee8b2bc99f99f0506 (
plain)
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;
|