Bug in apps/camd/camd.c?rev=1.8 ?

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
thegoodguy
Erleuchteter
Erleuchteter
Beiträge: 465
Registriert: Mittwoch 14. August 2002, 20:45

Bug in apps/camd/camd.c?rev=1.8 ?

Beitrag von thegoodguy »

In apps/camd/camd.c?rev=1.8

Code: Alles auswählen

					reply[0] = 0x9F;
					reply[1] = 0x80;
					reply[2] = 0x31;
					reply[3] = caid_count << 1;

					for (i = 0; i < caid_count; i++)
					{
						reply[i + 4] = caid[i] >> 8;
						reply[i + 5] = caid[i];
					}
sollte der Teil in der Schleife wohl anders lauten?! (So sieht er echt seltsam aus - da wird ja die Haelfte wieder ueberschrieben - reply[3] scheint wohl die Laenge des Restes zu enthalten)

Statt

Code: Alles auswählen

						reply[i + 4] = caid[i] >> 8;
						reply[i + 5] = caid[i];
wuerde ich vorschlagen:

Code: Alles auswählen

						reply[i * 2 + 4] = caid[i] >> 8;
						reply[i * 2 + 5] = caid[i];
bzw. (ein wenig kryptischer)

Code: Alles auswählen

						reply[(i << 1) + 4] = caid[i] >> 8;
						reply[(i << 1) + 5] = caid[i];
.Oder liege ich da falsch?

Viele Gruesse!
obi
Senior Member
Beiträge: 1282
Registriert: Montag 12. November 2001, 00:00

Beitrag von obi »

ja, stimmt :-)

das faellt nur keinem auf, weil caid_count immer 1 ist (wenn nicht 0) und weil niemand dieses kommando benutzt :-)

danke!