[Cpri-develop] cpri/src drv_txt.c,1.3,1.4
Brought to you by:
chrisan,
rasmusmyklebust
|
From: <ras...@us...> - 2003-11-13 00:43:50
|
Update of /cvsroot/cpri/cpri/src
In directory sc8-pr-cvs1:/tmp/cvs-serv17403
Modified Files:
drv_txt.c
Log Message:
Fixed textfile printing
Index: drv_txt.c
===================================================================
RCS file: /cvsroot/cpri/cpri/src/drv_txt.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** drv_txt.c 22 Mar 2003 18:26:24 -0000 1.3
--- drv_txt.c 13 Nov 2003 00:42:15 -0000 1.4
***************
*** 19,23 ****
#define QBUFSIZ 500
#define AddCr(s, cr) *s++ = '\n';if (cr) *s++ = cr
!
typedef struct t_driver {
t_printerq *q;
--- 19,24 ----
#define QBUFSIZ 500
#define AddCr(s, cr) *s++ = '\n';if (cr) *s++ = cr
! #define DST_PRINTER 0
! #define DST_FILE 1
typedef struct t_driver {
t_printerq *q;
***************
*** 179,183 ****
}
! static void MakeTextRow(t_driver *dd, char cr)
{
char s[500], fmt[100], *p;
--- 180,184 ----
}
! static void MakeTextRow(t_driver *dd, char cr,int dest)
{
char s[500], fmt[100], *p;
***************
*** 335,339 ****
AddCr(dd->p, cr);
}
! if (++dd->ypos + 1 > dd->bottom) {
*dd->p++ = '\14';
*dd->p++ = '\15';
--- 336,340 ----
AddCr(dd->p, cr);
}
! if (++dd->ypos + 1 > dd->bottom&&dest==DST_PRINTER) {
*dd->p++ = '\14';
*dd->p++ = '\15';
***************
*** 350,354 ****
break;
case EPC_NEW_PAGE:
! *dd->p++ = '\14';
if (cr)
*dd->p++ = cr;
--- 351,356 ----
break;
case EPC_NEW_PAGE:
! if(dest=DST_PRINTER)
! *dd->p++ = '\14';
if (cr)
*dd->p++ = cr;
***************
*** 487,494 ****
break;
default:
! if (dd->dos)
! c = _CpriToDOS(c, dd->dos);
! dd->n++;
! *dd->p++ = c;
break;
}
--- 489,499 ----
break;
default:
! if(c>=32&&dest==DST_FILE)
! {
! if (dd->dos)
! c = _CpriToDOS(c, dd->dos);
! dd->n++;
! *dd->p++ = c;
! }
break;
}
***************
*** 506,510 ****
return EOF;
}
! MakeTextRow(dd, '\15');
}
return *dd->p++;
--- 511,515 ----
return EOF;
}
! MakeTextRow(dd, '\15',DST_PRINTER);
}
return *dd->p++;
***************
*** 518,528 ****
fn = _CpriGetDestinationFilename(dd->q);
dst = fopen(fn, "w");
if (dst) {
do {
! MakeTextRow(dd, 0);
fprintf(dst, dd->buf);
} while (!dd->eof);
! fclose(dst);
}
return EOF;
--- 523,535 ----
fn = _CpriGetDestinationFilename(dd->q);
+
dst = fopen(fn, "w");
if (dst) {
do {
! MakeTextRow(dd, 0,DST_FILE);
fprintf(dst, dd->buf);
} while (!dd->eof);
! dd->eof=0;
! fclose(dst);
}
return EOF;
|