summary refs log tree commit diff
path: root/port/file2c/file2c.1
blob: fe1fe5e7a3fb04fe0522cd1780d96ff4e3be8a38 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
.\"----------------------------------------------------------------------------
.\" "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
.\" ---------------------------------------------------------------------------
.\"
.\" $FreeBSD: releng/11.2/usr.bin/file2c/file2c.1 173197 2007-10-30 17:49:00Z ru $
.\"
.Dd March 22, 2007
.Dt FILE2C 1
.Os
.Sh NAME
.Nm file2c
.Nd convert file to c-source
.Sh SYNOPSIS
.Nm
.Op Fl sx
.Op Fl n Ar count
.Op Ar prefix Op Ar suffix
.Sh DESCRIPTION
The
.Nm
utility reads a file from stdin and writes it to stdout, converting each
byte to its decimal or hexadecimal representation on the fly.
The byte values are separated by a comma.
This also means that the last byte value is not followed by a comma.
By default the byte values are printed in decimal, but when the
.Fl x
option is given, the values will be printed in hexadecimal.
When
.Fl s
option is given, each line is printed with a leading tab and each comma is
followed by a space except for the last one on the line.
.Pp
If more than 70 characters are printed on the same line, that line is
ended and the output continues on the next line.
With the
.Fl n
option this can be made to happen after the specified number of
byte values have been printed.
The length of the line will not be considered anymore.
To have all the byte values printed on the same line, give the
.Fl n
option a negative number.
.Pp
A prefix and suffix strings can be printed before and after the byte values
(resp.)
If a suffix is to be printed, a prefix must also be specified.
The first non-option word is the prefix, which may optionally be followed
by a word that is to be used as the suffix.
.Pp
This program is typically used to embed binary files into C source files.
The prefix is used to define an array type and the suffix is used to end
the C statement.
The
.Fl n , s
and
.Fl x
options are useful when the binary data represents a bitmap and the output
needs to remain readable and/or editable.
Fonts, for example, are a good example of this.
.Sh EXAMPLES
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
eeping 2014-08-07git: update to v2.0.4John Keeping 2014-08-07Always check if README exists in choose_readme()Lukas Fleischer 2014-08-01cgitrc.5: we mean a cgi response, not requestJason A. Donenfeld 2014-07-28ui-stats.c: set parent pointer to NULL after freeing itJohn Keeping 2014-07-28git: update to v2.0.3John Keeping 2014-07-28parsing.c: make commit buffer constJohn Keeping 2014-06-30Bump version.Jason A. Donenfeld 2014-06-29remove debug fprinf() calls that sneaked in with commit 79c985Christian Hesse 2014-06-28git: update to 2.0.1Christian Hesse 2014-06-28ui-patch: Flush stdout after outputting dataJohn Keeping 2014-06-28ui-log: ignore unhandled argumentsJohn Keeping 2014-06-28git: update for git 2.0Christian Hesse 2014-04-17remove trailing whitespaces from source filesChristian Hesse 2014-04-12git: update to 1.9.2Christian Hesse 2014-04-05Fix cgit_parse_url when a repo url is contained in another repo urlJulian Maurice 2014-03-20Makefile: use more reliable git tarball mirrorJason A. Donenfeld 2014-03-20git: update to 1.9.1Christian Hesse