view 3rdparty/packages/ed/doread.c @ 1427:b3868abe1fee

Rearrangement of directories and files for making bootable 6809/6309 MV disks
author boisy
date Tue, 02 Dec 2003 22:35:55 +0000
parents bef1844de0dc
children
line wrap: on
line source

/*      doread.c        */
#include <stdio.h>
#include "tools.h"
#include "ed.h"

extern int diag;

int doread(lin, fname)
int lin;
char *fname;
{
  FILE *fp;
  int err;
  long bytes;
  int lines;
  static char str[MAXLINE];

  err = 0;
  nonascii = nullchar = truncated = 0;

  if (diag) printf("\"%s\" ", fname);
  if ((fp = fopen(fname, "r")) == NULL) {
        printf("file open err\n");
        return(ERR);
  }
  curln = lin;
  for (lines = 0, bytes = 0; (err = egets(str, MAXLINE, fp)) > 0;) {
        bytes += strlen(str);
        if (ins(str) < 0) {
                printf("file insert error\n");
                err++;
                break;
        }
        lines++;
  }
  fclose(fp);
  if (err < 0) return(err);
  if (diag) {
        printf("%d lines %ld bytes", lines, bytes);
        if (nonascii) printf(" [%d non-ascii]", nonascii);
        if (nullchar) printf(" [%d nul]", nullchar);
        if (truncated) printf(" [%d lines truncated]", truncated);
        printf("\n");
  }
  return(err);
}