if(**dataptr == endmarker) {
c = **dataptr; --*datalen; ++*dataptr;  if(c == endmarker) {
uipbuf_bufdata_endmarker(struct uipbuf_buffer *buf, u8_t endmarker,			 u8_t **dataptr, u16_t *datalen){  u8_t c;      while(buf->left > 0 && *datalen > 0) {    c = *buf->ptr = **dataptr;    ++*dataptr;    ++buf->ptr;    --*datalen;    --buf->left;        if(c == endmarker) {      return UIPBUF_FOUND;    }  }  if(*datalen == 0) {    return UIPBUF_NOT_FOUND;  }  while(*datalen > 0) {    if(**dataptr == endmarker) {      return UIPBUF_FOUND | UIPBUF_FULL;    }    --*datalen;    ++*dataptr;  }    return UIPBUF_FULL;}