#define DBG 0
#define ARG 0
#include "frmwrk/inc/main.h"
/* --------------------------------------------------------------------- */
/* main.c */

#include "ed/inc/io.h"
#include "ed/inc/types.h"
#include "ed/inc/sysalloc.h"

#include <stdlib.h>
#include <string.h>

/* macros ============================================================== */

#define PERR\
   if (err) io_perror (err)

/* constants =========================================================== */
/* types =============================================================== */
/* structures ========================================================== */
/* private variables =================================================== */
/* private functions =================================================== */

/* ---------------------------------------------------------------------
   --------------------------------------------------------------------- */
static void tu_get_s (void)
{
   char s[10];

   int err;

   printf ("sizeof s = %lu\n", (ulong) sizeof s);

   err = get_s (s, sizeof s);
   PERR;

   printf ("IN (%lu cars): '%s'\n", (ulong) strlen (s), s);
}

/* ---------------------------------------------------------------------
   --------------------------------------------------------------------- */
static void tu_get_line (void)
{
   char *s = get_line ();

   if (s != NULL)
   {
      printf ("IN (%lu cars): '%s'\n", (ulong) strlen (s), s);

      FREE (s);
   }
   else
   {
      puts ("memory error");
   }

}


/* entry points ======================================================== */

/* ---------------------------------------------------------------------
   --------------------------------------------------------------------- */
int main (void)
{
   printf ("Module : %s Version : %s\n"
           ,io_sid ()
           ,io_sver ()
      );

   tu_get_s ();
   tu_get_line ();

   return 0;
}
