예제 #1
0
파일: tail.c 프로젝트: MKontra/projects-fit
int
main (int argc, char *argv[])
{
  int i;
  char *c;
  if (argc == 1)
    last_lines (10, NULL);
  else if (argc >= 2 && argc <= 3)
    {
      i = (int) strtol (argv[1], &c, 10);
      if (*c != '\0')
	{
	  argc == 2 ? (last_lines (10, argv[1]), 0) : (Error ("Neplatna prikazova riadka\n"), 0);
	}
      else
	{
	  if (i > 0 && *argv[1] == '+')
	    from_line (i, argc == 2 ? NULL : argv[2]);
	  else if (i == 0 && argc == 2)
	    *argv[1] == '-' ? (last_lines (0, NULL)) : (from_line (0, NULL));
	  else if (i == 0 && argc == 3)
	    *argv[1] == '-' ? (last_lines (0, argv[2])) : (from_line (0, argv[2]));
	  else if (i < 0)
	    last_lines (i * (-1), argc == 2 ? NULL : argv[2]);
	  else	Error ("Neplatna prikazova riadka\n");
	}
    }
  else
    Error ("Prilis vela argumentov\n");

  return EXIT_SUCCESS;

}
예제 #2
0
static void
print_last_page(MY_OBJ * obj)
{
    int high = getmaxy(obj->obj.win) - (2 * MARGIN + (obj->obj.bg_task ? 1 : 3));
    int wide = getmaxx(obj->text);

    last_lines(obj, high);
    print_page(obj, high, wide);
}