rem: if (error == IFFERR_EOC) {
add: else if (error == IFFERR_EOC) {
context: void ui_clip_request_data(uint32 format){  char* str = NULL;  int	len = 1; // Always reserve space for NUL byte  if (format == CF_TEXT) {    if (OpenIFF(amiga_clip_iffhandle, IFFF_READ) == 0) {      if (CollectionChunk(amiga_clip_iffhandle, ID_FTXT, ID_CHRS) == 0 &&	  StopOnExit(amiga_clip_iffhandle,ID_FTXT,ID_FORM) == 0) {	while (TRUE) {	  LONG error = ParseIFF(amiga_clip_iffhandle, IFFPARSE_SCAN);	  if (error == IFFERR_EOF) {	    break;	  }	  	  if (error == IFFERR_EOC) {	    struct CollectionItem* ci;	    struct CollectionItem* first_ci; 	    ci = first_ci = FindCollection(amiga_clip_iffhandle,					   ID_FTXT, ID_CHRS);	    while (ci != NULL) {	      int   i;	      char* chrs = ci->ci_Data;	      len += ci->ci_Size;	      for (i = 0; i < ci->ci_Size; ++i) {		if (chrs[i] == '\n') {		  ++len;		}	      }	      ci = ci->ci_Next;	    }	    str = malloc(len);	    if (str != NULL) {	      extract_collection(first_ci, str);	    } 	  }	}      }            CloseIFF(amiga_clip_iffhandle);    }    if (str != NULL) {      cliprdr_send_data(str, len);      free(str);    }    else {      cliprdr_send_data("", 0);    }  }}