function count(char *str) {
char *read = str;
char*write = str;
if (0 == *read)
return;
char last = *(read++);
int count = 1;
while (*read) {
if (last == *read) {
count++;
} else {
if (count > 1) {
write += sprintf(write, "%d", count);
}
*(write++) = last;
last = *read;
count = 1;
}
read++;
}
if (count > 1) {
write += sprintf(write, "%d", count);
}
*(write++) = last;
*write = 0;
}