|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T b
Length: 2474 (0x9aa)
Types: TextFile
Names: »b_output.BSD4_n.c«
└─⟦060c9c824⟧ Bits:30007080 DKUUG TeX 2/12/89
└─⟦this⟧ »./tex82/Unsupported/MFpxl/mflib/b_output.BSD4_n.c«
└─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12
└─⟦beba6c409⟧ »unix3.0/Unsupported.tar.Z«
└─⟦25c524ae4⟧
└─⟦this⟧ »Unsupported/MFpxl/mflib/b_output.BSD4_n.c«
#ifndef lint
static char RCSid[] = "$Header: b_output.c,v 1.0 86/01/31 14:58:36 richards Released $";
#endif
/*
* Byte output routines: a compiler independent set of routines for
* writing byte files for the MF utilities
*
*
* procedure bwritebyte(var bf: bytefile, n: integer);
* { write next byte of byte file as byte n }
*
* procedure bwrite2bytes(var bf: bytefile, n: integer);
* procedure bwrite3bytes(var bf: bytefile, n: integer);
* procedure bwrite4bytes(var bf: bytefile, n: integer);
* { similar to bwritebyte; but writes 2, 3, or 4 }
* { bytes, (either as signed or unsigned values) }
*
* procedure bwritebuf(
* var bf: bytefile;
* var buf: packed array [] of eightbits;
* first: integer;
* last: integer );
* { write a block of bytes from buf[first..last] }
*
*
*/
#include <stdio.h>
#include "mftypes.h"
/*
* procedure bwritebyte(var f: bytefile, n: integer);
*
* write "n" as next byte to bytefile "bf".
*/
void bwritebyte(bf, n)
bytefile *bf;
integer n;
{
register FILE *fp = bf->b_fp;
if (fp)
(void)putc(n, fp);
if (bf->b_locptr)
*bf->b_locptr += 1;
}
/*
* and the remaining bwriteXbyte procedures:
*/
void bwrite2bytes(bf, n)
bytefile *bf;
register integer n;
{
register FILE *fp = bf->b_fp;
if (fp) {
(void)putc((n >> 8), fp);
(void)putc( n, fp);
}
if (bf->b_locptr)
*bf->b_locptr += 2;
}
void bwrite3bytes(bf, n)
bytefile *bf;
register integer n;
{
register FILE *fp = bf->b_fp;
if (fp) {
(void)putc((n >> 16), fp);
(void)putc((n >> 8), fp);
(void)putc( n, fp);
}
if (bf->b_locptr)
*bf->b_locptr += 3;
}
void bwrite4bytes(bf, n)
bytefile *bf;
register integer n;
{
register FILE *fp = bf->b_fp;
if (fp) {
(void) putc((n >> 24), fp);
(void) putc((n >> 16), fp);
(void) putc((n >> 8), fp);
(void) putc( n, fp);
}
if (bf->b_locptr)
*bf->b_locptr += 4;
}
/*
* procedure bwritebuf(
* var bf: bytefile;
* var buf: packed array[] of eightbits;
* first, last: integer);
*
* write a block buffer of an array of "eightbits" to file "f"
*/
void bwritebuf(bf, buf, first, last)
bytefile *bf;
eightbits *buf;
integer first, last;
{
register FILE *fp = bf->b_fp;
register eightbits *bp, *ep;
for (bp = &(buf[first]), ep = &(buf[last]); bp <= ep; bp++)
(void) putc(*bp, fp);
if (bf->b_locptr)
*bf->b_locptr += (last-first+1);
}