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