/*************************************************************************
*                                                                        *
*    FFFFFFFF  RRRRRR    EEEEEEE   VV     VV     DATUM: 23-03-1990       *
*    FF        RR   RR   EE        VV     VV                             *
*    FF        RR    RR  EE         VV   VV      AUTOR: A. NEUPER        *
*    FF        RR   RR   EE         VV   VV                              *
*    FFFFFF    RRRRRR    EEEEE       VV VV       COMPILER: AZTEC C 5.0   *
*    FF        RR RR     EE          VV VV                               *
*    FF        RR  RR    EE           VVV        CC: Voreinstellung      *
*    FF        RR   RR   EE           VVV                                *
*    FF        RR    RR  EEEEEEEE      V         LN: -lc                 *
*                                                                        *
*************************************************************************/
#include <stdio.h>
#include <fcntl.h>

main(int argc, char *argv[])
{  register int   fd;                      /* Filedescriptor */
   char  letter;                           /* Bufferspeicher */

   if(argc!=2)                             /* Filename muß übergeben werden */
   {  fputs("ERROR in arg-list!",stderr); return( 1); }

   if( (fd=open(argv[1],O_RDONLY))==-1 ||  /* Öffnen zum Lesen (READONLY)   */
       (   lseek(fd,-1L,2)        ==-1 ) ) /* Lesekopf auf Zeichen vor EOF  */
   {  fputs("ERROR on Input!"   ,stderr); return(-1); }

   do
   {  read(fd,&letter,1);                  /* unbuffered Input */
      putchar(letter);                     /* Standard  Output */
   } while( lseek(fd,-2L,1) != -1 );       /* 2 Zeichen zurück */
                                           /* denn read geht  1 Zeichen vor */
   close(fd);
   return(0);
}
