書き方からみるに
case 'w':
 if (alldigit(s + 1) == NO)
  usage(); /* no return */

 width = atoi(s + 1);
 while (*(++s + 1))
  ;//この位置には widthを求める処理が入ってたと思われ。
 break;

っつーわけで、widthを求める処理を atoi に置き換えた後
削除するのを忘れた、とか そんな感じだと思う。