You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by sk...@apache.org on 2022/12/08 13:14:36 UTC

[netbeans-native-installers] 06/19: clean up code and implementation of hints

This is an automated email from the ASF dual-hosted git repository.

skygo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans-native-installers.git

commit f338cc42f9f9f96e08bca2137c9b65c432fb5442
Author: Andreas Hauffe <an...@tu-dresden.de>
AuthorDate: Tue Aug 21 14:27:58 2018 +0200

    clean up code and implementation of hints
---
 launcher/windows/src/JavaUtils.c | 117 +++++++++++++++++++--------------------
 1 file changed, 56 insertions(+), 61 deletions(-)

diff --git a/launcher/windows/src/JavaUtils.c b/launcher/windows/src/JavaUtils.c
index 5e9fad4..6012afb 100644
--- a/launcher/windows/src/JavaUtils.c
+++ b/launcher/windows/src/JavaUtils.c
@@ -124,80 +124,75 @@ DWORD isJavaCompatible(JavaProperties *currentJava, JavaCompatible ** compatible
 
 JavaVersion * getJavaVersionFromString(char * string, DWORD * result) {
     JavaVersion *vers = NULL;
-    if(getLengthA(string)>=3) {
-        char *p = string;
-        
-        // get major 
-        long major = 0;
-        while(p!=NULL) {
-            char c = p[0];
-            if(c>='0' && c<='9') {
-                major = (major) * 10 + c - '0';
-                p++;
-                continue;
-            }
-            else if(c=='.'){
-                p++;
-            }
-            else{
-                return vers;
-            }
+    if(getLengthA(string)<3) {
+        return vers;
+    }
+
+    const char *p = string;
+
+    // get major 
+    long major = 0;
+    while(*p!=0) {
+        char c = *p++;
+        if(c>='0' && c<='9') {
+            major = (major) * 10 + c - '0';
+            if (major > 999) return vers;
+            continue;
+        } else if(c=='.'){
             break;
+        } else{
+            return vers;
         }
-        
-        // get minor 
-        long minor = 0;
-        while(p!=NULL) {
-            char c = p[0];
+    }
+
+    // get minor 
+    long minor = 0;
+    while(*p!=0) {
+        char c = *p;
+        if(c>='0' && c<='9') {
+            minor = (minor) * 10 + c - '0';
+            p++;
+            continue;
+        }
+        break;
+    }
+
+    *result = ERROR_OK;
+    vers = (JavaVersion*) LocalAlloc(LPTR, sizeof(JavaVersion));
+    vers->major  = major;
+    vers->minor  = minor;
+    vers->micro  = 0;
+    vers->update = 0;
+    ZERO(vers->build, 128);
+
+    if(p[0]=='.') { // micro...
+        p++;
+        while(*p!=0) {
+            char c = *p;
             if(c>='0' && c<='9') {
-                minor = (minor) * 10 + c - '0';
+                vers->micro = (vers->micro) * 10 + c - '0';
                 p++;
                 continue;
-            }
-            break;
-        }
-        
-        *result = ERROR_OK;
-        vers = (JavaVersion*) LocalAlloc(LPTR, sizeof(JavaVersion));
-        vers->major  = major;
-        vers->minor  = minor;
-        vers->micro  = 0;
-        vers->update = 0;
-        ZERO(vers->build, 128);
-        
-        if(p!=NULL) {
-            if(p[0]=='.') { // micro...
+            } else if(c=='_') {//update
                 p++;
-                while(p!=NULL) {
-                    char c = p[0];
+                while((c = *p) != 0) {
+                    p++;
                     if(c>='0' && c<='9') {
-                        vers->micro = (vers->micro) * 10 + c - '0';
-                        p++;
+                        vers->update = (vers->update) * 10 + c - '0';
                         continue;
-                    }
-                    else if(c=='_') {//update
-                        p++;
-                        while(p!=NULL) {
-                            c = p[0];
-                            p++;
-                            if(c>='0' && c<='9') {
-                                vers->update = (vers->update) * 10 + c - '0';
-                                continue;
-                            } else {
-                                break;
-                            }
-                        }
                     } else {
-                        if(p!=NULL) p++;
-                    }
-                    if(c=='-' && p!=NULL) { // build number
-                        lstrcpyn(vers->build, p, min(127, getLengthA(p)+1));
+                        break;
                     }
-                    break;
                 }
+            } else {
+                if(*p!=0) p++;
+            }
+            if(c=='-' && *p!=0) { // build number
+                lstrcpyn(vers->build, p, min(127, getLengthA(p)+1));
             }
+            break;
         }
-    } 
+    }
     return vers;
 }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists