[solved] isNumber Größenbeschränkung

Antworten
Tobei
Beiträge: 18
Registriert: 10 Dez 2010, 00:29
Kontaktdaten:

[solved] isNumber Größenbeschränkung

Beitrag von Tobei »

Hi,

mir scheint es so, als ob die Funktion isNumber nur bis zu einer bestimmen Zahlengröße funktioniert, ich vermute bis zum Maximum eines 32-Bit Integer.

Logauszug:

Code: Alles auswählen

Set  $Expected_Size$ = calculate($Expected_Size$ + "*1024*1024*1024")
The value of the variable "$Expected_Size$" is now: "13958643712"
If
isNumber($Expected_Size$)   <<< result false
not(isNumber($Expected_Size$))   <<< result true
Wäre schön wenn jemand von uib was dazu sagen könnte.


Gruß Tobias
Zuletzt geändert von Tobei am 07 Jul 2017, 16:05, insgesamt 1-mal geändert.
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3319
Registriert: 04 Jun 2008, 14:27

Re: isNumber Größenbeschränkung

Beitrag von d.oertel »

Hallo Tobei,

ja - das ist richtig analysiert:
Die Funktion prüft derzeit auf eine mögliche Konvertierung des stings auf longint:
Wertebereich: -2147483648 .. 2147483647
Speicherbedarf: 4 Byte bzw. 32 Bit

Es ist allerdings eher eine Kleinigkeit diese Prüfung auf int64 abzuändern:
Wertebereich: -9223372036854775808 .. 9223372036854775807
Speicherbedarf: 8 Byte bzw. 64 Bit

Besteht dafür Bedarf ?
Neugierhalber: In welchem Kontext ?

gruß
detlef oertel
opsi support - uib gmbh

For productive opsi installations we recommend support contracts.
http://www.uib.de
http://www.opsi.org
Tobei
Beiträge: 18
Registriert: 10 Dez 2010, 00:29
Kontaktdaten:

Re: isNumber Größenbeschränkung

Beitrag von Tobei »

Hallo Detlef,

danke für deine schnelle Rückmeldung :-)

Wir machen Folgendes:
Nach dem Setup lassen wir per PowerShell Skript die Größe des Installationsverzeichnis berechnen. Dies geschieht in Bytes. Der ermittelte Wert wird mit einem Wert, der in einer Variable gespeichert ist, verglichen. Die Anforderung ist, dass der ermittelte Wert größer gleich dem gespeicherten Wert sein muss. Wir stellen damit sicher, dass uns der Installer nicht mit einem Exitcode 0 anlügen kann. Sprich einfach ein zusätzlicher Test.

Ich habe dir gerade eben den Code mal per Mail geschickt, konkret geht es dann in Zeile 81 schief. Die Größe der Zahl ist relativ schnell erreicht, wenn man in Byte rechnet.


Gruß Tobias
SirTux
Beiträge: 558
Registriert: 05 Feb 2011, 18:37

Re: isNumber Größenbeschränkung

Beitrag von SirTux »

Und das geht nicht in größeren Einheiten wie z.B. MByte?
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3319
Registriert: 04 Jun 2008, 14:27

Re: isNumber Größenbeschränkung

Beitrag von d.oertel »

Hi,

hier ist der fix:
http://download.uib.de/opsi4.0/experime ... .14-1.opsi

isNumber prüft jetzt auf Konvertierbarkeit zu int64

Rückmeldungen werden dankbar entgegengenommen.

gruß
detlef oertel
opsi support - uib gmbh

For productive opsi installations we recommend support contracts.
http://www.uib.de
http://www.opsi.org
Tobei
Beiträge: 18
Registriert: 10 Dez 2010, 00:29
Kontaktdaten:

Re: isNumber Größenbeschränkung

Beitrag von Tobei »

Hi,
SirTux hat geschrieben:Und das geht nicht in größeren Einheiten wie z.B. MByte?
MiB sind meiner Meinung nach zu Grob, damit würden sich beispielsweise keine Tests für Installationen durchführen lassen die <1MiB groß sind. Klar man hätte es evtl. so drehen können, dass man KiB als Basiseinheit verwendet.

Primär ging es aber erst mal um die Klärung der Ursache des Problems. Ich denke Detlef hätte es nicht geändert, wenn es jetzt ein großer Aufwand gewesen wäre.

In diesem Sinne danke dir Detlef für die Änderung. :)


Gruß Tobias
Antworten