Mailinglisten-Archive |
Hi Norbert, >>könntest Du bitte zwei oder drei signifikante Wertepaare posten? >>Dann kann jeder selbst sofort nachprüfen, ob seine Idee passt ... Aber gerne doch ;) Ich habe selbst gerade gesehen, das ich einen Fehler gemacht habe. Die Funktion sum_add bekommt noch eine reference übergeben. Meine C-Codeschnipsel waren aus einer Mail. Hier noch mal das Original aus der Doku und das dazugehörige Beispiel: void sum_add(ulong* sum, const char* str) { size_t len=strlen(str); for(size_t i=0; i<len; i++) { *sum = (*sum + ((ulong)str[i] * ((i+1)<<4))) % 0x10000; } } The following section shows the step-by-step results of the key calculations: ulong sum = 0; sum_add(&sum, ""); // "Stop" param, sum is 0 after this operation sum_add(&sum, ""); // "Scope" param, sum is 0 after this operation sum_add(&sum, "Dr.X"); // User id, sum is 0x00003120 sum_add(&sum, "1065507963"); // Time stamp, sum is 0x0000e6f0 sum_add(&sum, "12121212-1212"); // Patient id, sum is 0x0000fe20 sum_add(&sum, "1234^2345"); // Accession numbers, sum is 0x00009c40 sum_add(&sum, "001^001"); // Exam numbers, sum is 0x0000fc60 sum_add(&sum, "test"); // System password, sum is 0x000042d0 Im Grunde ist es zwar schon so wie ich es auch vorher gschrieben habe, nur die Wertepaare machen nur dann Sinn wenn man auch den vorherigen Wert mit übergibt bzw. die Reference. Das nur der Vollständigkeit halber. Grüße und Danke für die Mühe. Alex Häussel
php::bar PHP Wiki - Listenarchive