Fragen? Antworten! Siehe auch: Alternativlos
unsignedIch möchte dieses Codestück mal nutzen, um zu illustrieren, wieso sich bei vielen C-Programmierern die Idee der vorbeugenden Erschiessung anbietet. Wie ihr seht, sind size und count unsigned int. Die while-Schleife will gucken, ob count*size noch im Buffer liegt. Was ist an diesem einen Statement alles falsch?
fiio_mem_WriteProc(void *buffer, unsigned size, unsigned count, fi_handle handle) {
void *newdata;
long newdatalen;
//double the data block size if we need to
while( FIIOMEM(curpos)+(long)(size*count) >= FIIOMEM(datalen) ) {