[Vorschlag] configfile.cpp optimieren
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
[Vorschlag] configfile.cpp optimieren
Beim Experimentieren ist mir aufgefallen, das keine definierten Default-Werte geladen
werden, wenn der Eintrag zwar vorhanden, aber hinter dem Gleichheitszeichen nichts
steht. Hier geht es speziell um getInt32. Fehlt der Eintrag, funktioniert alles so wie es soll,
fehlt der Wert hinter dem '=", wird immer nur 0 geliefert. Das sollte doch optimierbar sein?
Meiner Meinung nach kann man das auch als Bug bezeichnen.
Bei den LCD Settings sieht z.B. so aus.
werden, wenn der Eintrag zwar vorhanden, aber hinter dem Gleichheitszeichen nichts
steht. Hier geht es speziell um getInt32. Fehlt der Eintrag, funktioniert alles so wie es soll,
fehlt der Wert hinter dem '=", wird immer nur 0 geliefert. Das sollte doch optimierbar sein?
Meiner Meinung nach kann man das auch als Bug bezeichnen.
Bei den LCD Settings sieht z.B. so aus.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [Vorschlag] configfile.cpp optimieren
An der Stelle wird vermutlich eben kein int aus dem configfile geholt, sondern ein String. Wenn bei "getintXX" tatsächlich "nichts" zurückkommt, dann ist das ein Bug. Bei einem getString natürlich nicht.
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: [Vorschlag] configfile.cpp optimieren
Dieser Patch sollte das Problem nun lösen.
Bitte mal draufschauen und natürlich testen.
Patch aktualisiert.
Edit: Der Code ist suboptimal, ich stelle gleich nochmal ein neues diff hoch.
libconfigfile-2.diff
Bitte mal draufschauen und natürlich testen.
Patch aktualisiert.
Edit: Der Code ist suboptimal, ich stelle gleich nochmal ein neues diff hoch.
libconfigfile-2.diff
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [Vorschlag] configfile.cpp optimieren
Das wäre aber falsch. Wie willst du dann einen leeren String im Configfile angeben?
Dein Problem ist ein ganz anderes: warum Strings speichern, wenn man Zahlen speichern will?
Dein Problem ist ein ganz anderes: warum Strings speichern, wenn man Zahlen speichern will?
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: [Vorschlag] configfile.cpp optimieren
Was kann ich dafür das immer nur Strings ausgelesen und die mit atoi
anschließend zurückgegeben werden. Das einzige was mein Codeschnipsel macht,
wenn getint32 und getint64 ausgelesen werden, zu prüfen ob der Wert leer
ist und dann den default zurück gibt. Was ist daran falsch?
Wie gesagt es getht nur um getint32 und getint64, getString habe ich nicht angepackt!
anschließend zurückgegeben werden. Das einzige was mein Codeschnipsel macht,
wenn getint32 und getint64 ausgelesen werden, zu prüfen ob der Wert leer
ist und dann den default zurück gibt. Was ist daran falsch?
Wie gesagt es getht nur um getint32 und getint64, getString habe ich nicht angepackt!
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: [Vorschlag] configfile.cpp optimieren
Ich vermute, es geht um Zeilen im Stile vonGetAway hat geschrieben:fehlt der Wert hinter dem '=", wird immer nur 0 geliefert.
Der Wert 0 ist für diese Option nicht definiert, siehelcd_epgmode=
CMenuOptionChooser::keyval LCDMENU_EPG_OPTIONS[LCDMENU_EPG_OPTION_COUNT]
in neutrino_menu.cpp. Deshalb sollte hier der Default genutzt werden.
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: [Vorschlag] configfile.cpp optimieren
Wann kann dieser Fall eigentlich auftreten?GetAway hat geschrieben:wenn der Eintrag zwar vorhanden, aber hinter dem Gleichheitszeichen nichts steht.
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: [Vorschlag] configfile.cpp optimieren
Es geht ums booten, bei leeren Werten.
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: [Vorschlag] configfile.cpp optimieren
Da wäre aber noch einiges zu tun.seife hat geschrieben:Dein Problem ist ein ganz anderes: warum Strings speichern, wenn man Zahlen speichern will?
Re: [Vorschlag] configfile.cpp optimieren
Reicht dort nicht ein Standardparameter? In getString steht doch schon mal Wenn es 0 sein soll muss man das eben reinschreiben, bei getInt32 ist das nicht der Fall, dort könnte man das noch machen, oder liege ich daneben
Code: Alles auswählen
defaultVal = ""
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: [Vorschlag] configfile.cpp optimieren
@dixidix
Es geht allein um das Einlesen der Integer Werte der neutrino.conf.
Ist der Key beim Booten vorhanden, aber leer ...
wird ein leerer Stringwert ausgelesen. Beim anschließenden
umwandeln in einen Integer mit atoi bzw. atoll wird aus einem
leeren String immer eine Null. Diese 0 an neutrino zu übergeben ist
falsch. In diesem Moment sollte der default-Wert, der in neutrino.cpp
und hartcodiert ist, greifen. Dafür sind sie ja da.
Es geht allein um das Einlesen der Integer Werte der neutrino.conf.
Ist der Key beim Booten vorhanden, aber leer ...
Code: Alles auswählen
lcd_epgmode=
umwandeln in einen Integer mit atoi bzw. atoll wird aus einem
leeren String immer eine Null. Diese 0 an neutrino zu übergeben ist
falsch. In diesem Moment sollte der default-Wert, der in neutrino.cpp
und hartcodiert ist, greifen. Dafür sind sie ja da.
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: [Vorschlag] configfile.cpp optimieren
Genau hier möchte ich einhaken. Soweit ich es überblicke, wirdGetAway hat geschrieben:Ist der Key beim Booten vorhanden, aber leer ...Code: Alles auswählen
lcd_epgmode=
der Default verwendet, wenn neutrino.conf nicht existiert.
Wen neutrino.conf bereits existiert, sollte hinter dem
Gleichheitszeichen doch ein Wert stehen?
Wann kann der o.g. Fall auftreten?
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: [Vorschlag] configfile.cpp optimieren
Ok, Du willst darauf hinaus das es beim normalen User, solange er die neutrino.conf
nicht händisch bearbeitet oder aus einem alten Image zurückspielt, mit hoher
Wahrscheinlichkeit nicht auftritt. Darum geht es mir aber nicht. Mir geht es um
Abfangen von Fehlern die eventuell auftreten könnten. Damit wäre es dann einer
weniger.
nicht händisch bearbeitet oder aus einem alten Image zurückspielt, mit hoher
Wahrscheinlichkeit nicht auftritt. Darum geht es mir aber nicht. Mir geht es um
Abfangen von Fehlern die eventuell auftreten könnten. Damit wäre es dann einer
weniger.
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: [Vorschlag] configfile.cpp optimieren
GenauGetAway hat geschrieben:Ok, Du willst darauf hinaus das es beim normalen User, solange er die neutrino.conf
nicht händisch bearbeitet oder aus einem alten Image zurückspielt, mit hoher
Wahrscheinlichkeit nicht auftritt.
Ok, ich unterstütze Dein Anliegen und werde den Patch testen.GetAway hat geschrieben:Darum geht es mir aber nicht. Mir geht es um Abfangen von Fehlern die eventuell auftreten könnten. Damit wäre es dann einer weniger.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [Vorschlag] configfile.cpp optimieren
Ok, dann hatte ich das falsch gelesen. Das kommt davon, wenn patches nicht mit mit "diff -up" gemacht sind.GetAway hat geschrieben:Wie gesagt es getht nur um getint32 und getint64, getString habe ich nicht angepackt!
Wobei - in diesem Fall war es wirklich eindeutig
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: [Vorschlag] configfile.cpp optimieren
committed:GetAway hat geschrieben:Edit: Der Code ist suboptimal, ich stelle gleich nochmal ein neues diff hoch.
libconfigfile-2.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/1451