int prints(char *str) { unsigned int len; len = cos_strlen(str); if (unlikely(len == 0)) goto done; send_str(str, len); done: return 0; }
int prints(char *str) { int left; char *off; const int maxsend = sizeof(int) * 3; if (!str) return -1; for (left = cos_strlen(str), off = str ; left > 0 ; left -= maxsend, off += maxsend) { int *args; int l = left < maxsend ? left : maxsend; char tmp[maxsend]; cos_memcpy(tmp, off, l); args = (int*)tmp; print_char(l, args[0], args[1], args[2]); } return 0; }