#include #include #include #include #include static char *buf; void get_stdin(void) { ssize_t ssz; const size_t sz = 32*1024; // 32 KB should be enough for everyon, right? ^-^ if (!(buf = malloc(sz))) { err(1, 0); } ssz = read(STDIN_FILENO, buf, sz); if (ssz >= (ssize_t)sz) { errx(1, "read"); } buf[ssz] = 0; } int main(void) { unsigned result; int w,h, x,y; get_stdin(); for (w=0; buf[w] != '\n'; w++); // Calculate width h = strlen(buf) / w -1; // Calculate height result = 0; for (y=1; y