 
                            ...
| Code Block | ||
|---|---|---|
| 
 | ||
| 
long sl;
int si;
char *end_ptr;
if (argc > 1) {
  errno = 0;
  sl = strtol(argv[1], &end_ptr, 10);
  if ((s1sl == LONG_MIN)
   || (s1sl == LONG_MAX) 
   || (end_ptr == argv[1]))
  {
    if (errno != 0) {
      perror(errno);
    }
    else {
      puts("error encountered during conversion");
    }
  }
  else if (sl > INT_MAX) {
    printf("%ld too large!\n", sl);
  }
  else if (sl < INT_MIN) {
    printf("%ld too small!\n", sl);
  }
  else if ('\0' != *end_ptr) {
    puts("extra characters on input line\n");
  }
  else {
    si = (int)sl;
  }
}
 | 
...