HardenedBSD/usr.bin/file2c/file2c.1
Poul-Henning Kamp b71255826d This is a small little program used to execute a bad practice a clean way :-)
It will read a file on stdin and write it as decimal integers on stdout,
this is useful for embedding files in c-sources.

There are a few places where this is needed, and this is a better way than
the current practice of hand-editing the sources.

The command:

date | file2c 'const char date[] = {' ',0};'

will produce:

const char date[] = {
83,97,116,32,74,97,110,32,50,56,32,49,54,58,52,55,58,51,51,32,80,83,84,
32,49,57,57,53,10
,0};

The manual page is 2 lines longer than the source :-)
1995-01-29 00:49:57 +00:00

49 lines
1.2 KiB
Groff

.\"----------------------------------------------------------------------------
.\" "THE BEER-WARE LICENSE" (Revision 42):
.\" <phk@freebsd.org> wrote this file. As long as you retain this notice, you
.\" can do whatever you want with this file. If we meet some day, and you think
.\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
.\" ---------------------------------------------------------------------------
.\"
.\" $Id$
.\"
.Dd Jan 28, 1995
.Dt FILE2C 1
.Os
.Sh NAME
.Nm file2c
.Nd convert file to c-source.
.Sh SYNOPSIS
.Nm file2c
.Op "string"
.Op "string"
.Sh DESCRIPTION
The
.Nm file2c
utility reads a file from stdin and writes it to stdout, converting each
byte to its decimal representation on the fly.
.Pp
If the first
.Op string
is present, it is printed before the data, if the second
.Op string
is present, it is printed after the data.
.Pp
This program is used to embedd binary or other files into C source files,
for instance as a char[].
.Sh EXAMPLE
The command:
.Bd -literal -offset indent
date | file2c 'const char date[] = {' ',0};'
.Ed
.Pp
will produce:
.Bd -literal -offset indent
const char date[] = {
83,97,116,32,74,97,110,32,50,56,32,49,54,58,50,56,58,48,53,
32,80,83,84,32,49,57,57,53,10
,0};
.Ed