W dniu 8 marca 2013 18:41 użytkownik Bartlomiej Zimon <[email protected]> napisał: > Wszystkie te bledy znajduja sie w bibliotece tndb. > Wyglada to na jakis blad optymalizacji kompilacji, > bo normalnie takie cos dziala w C poprawnie: > (fragment pliku poldek/tndb/write.c:tndbw_close) > > ntotal = 0; > while ((nread = read(fdin, buf, sizeof(buf))) > 0) { > if (write(fdout, buf, nread) != (int)nread) > goto l_end; > ntotal += nread; > } > > W naszym problemie mamy: > nread = -1, a mimo to petla sie wykonuje. > > warunek (-1 > 0) to normalnie false ;/
Zmienna nread jest złego typu. unsigned int zamiast ssize_t. -- Marcin Banasiak _______________________________________________ pld-devel-pl mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl
