summaryrefslogtreecommitdiff
path: root/editors/openoffice.org-2/files/patch-jvmfwk+plugins+sunmajor+pluginlib+sunversion.cxx
blob: c963d013cc0788f6f9e22cc314588b0a25dcaa97 (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
51
52
53
54
55
56
57
58
59
60
61
Issuetracker : #i56953#
CWS          : N/A
Author       : <maho@openoffice.org>
Description  : FreeBSD porting : do not hardcode pXX of Java version and FreeBSD native Java is always superior to Linux's one.

1. we had been hard coding Java's version by p1, p2 ... etc. but apparently
it is not a good habit. in this patch we eleminate this.

2. we'd better to use FreeBSD's native Java, and not GNU/Linux's ones if both are exist
in the system. We add 100 as micro version number, so that we treat FreeBSD's version of
java 1.4.1-p10 for example to 1.4.1_110.

--- jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx	Thu Sep  8 04:31:40 2005
+++ jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx	Sat Oct 22 18:25:49 2005
@@ -208,7 +208,16 @@
             return false;
 #if defined(FREEBSD)        
       if (m_preRelease == Rel_FreeBSD) {
-         m_nUpdateSpecial = *pCur;
+           pCur++; //elemnate `p'
+           if (pCur < pEnd && isdigit(*pCur))
+               if (pCur < pEnd)
+                   pCur ++;
+           int len = pCur - pLast -1; //elemenate `p'
+		if (len >= 127)
+                    return false;
+	strncpy(buf, (pLast+1), len); //elemenate `p'
+	buf[len] = 0;
+	m_nUpdateSpecial = atoi(buf)+100; //hack for FBSD
 	return true;
       }
 #endif        
@@ -249,27 +258,7 @@
     else if (! strcmp(szRelease, "rc3"))
         return Rel_RC3;
 #if defined (FREEBSD)
-    else if (! strcmp(szRelease, "p1"))
-        return Rel_FreeBSD;
-    else if (! strcmp(szRelease, "p2"))
-        return Rel_FreeBSD;
-    else if (! strcmp(szRelease, "p3"))
-        return Rel_FreeBSD;
-    else if (! strcmp(szRelease, "p4"))
-        return Rel_FreeBSD;
-    else if (! strcmp(szRelease, "p5"))
-        return Rel_FreeBSD;
-    else if (! strcmp(szRelease, "p6"))
-        return Rel_FreeBSD;
-    else if (! strcmp(szRelease, "p7"))
-        return Rel_FreeBSD;
-    else if (! strcmp(szRelease, "p8"))
-        return Rel_FreeBSD;
-    else if (! strcmp(szRelease, "p9"))
-        return Rel_FreeBSD;
-    else if (! strcmp(szRelease, "p10"))
-        return Rel_FreeBSD;
-    else if (! strcmp(szRelease, "p11"))
+    else if (! strncmp(szRelease, "p", 1))
         return Rel_FreeBSD;
 #endif    
     else