Am Sonntag, 4. Juni 2006 19:09 schrieb Jurij Smakov: > On Sun, 4 Jun 2006, Hendrik Sattler wrote: > > Am Sonntag, 4. Juni 2006 12:20 schrieb Josip Rodin: > >> That's one funky patch. The previous version of the variable wasn't > >> getting null-terminated? > > > > A const string is always null-terminated. Maybe the problem was with it > > being const? > > Right, AFAICT the compiler was assuming that buffer is const. Later in the > code it is used to retrieve the architecture string from the PROM, and the > buffer[4] char then determines the arch. With the const assumption this > value was incorrectly set to 'c' at compile time, leading to misdetection > of the architecture.
Actually, declaring it as char buffer[8] = "sun4c"; would be better. And you should use sizeof(buffer) as the last argument for prom_getproperty(). Not that if that function return -1, e.g. because the buffer is too small, it will always hit the sun4c case instead of the default case. It should also be checked, that the strlen(buffer) is >=5 and i is not -1 before testing buffer[4]. HS -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

