#include <stdio.h>
#include <string.h>
#include <ctype.h>
/* if line is completly blank (all white-space) returns 1, otherwise returns 0*/

int blankLine(char *s){
  char *p;

  for (p=s; *p && isspace(*p); p++) 
    /* nothing */ ;
  return *p == '\0';
}

int main(int argc, char**argv) {
  FILE *f;
  char buf[1024];
  int lineno = 0;

  if (argc < 2) return 1;

  f = fopen(argv[1], "r");
  if (f == 0) {
    perror("fopen"); return 1;
  }

  while(fgets(buf, 1024, f)) {
    int r = blankLine(buf);
    char * nl;

    nl = strrchr(buf, '\n');
    if (nl) *nl = '\0';
    printf("line %u: %s (%s).\n", 
           ++lineno, 
           r ? "blank" : "nonblank", 
           buf);
  }

  return 0;
}
