a small program to embed raw files into C programs by translate them into arrays http://src.kaivo.net/dev/array/

Jakob Kaivo fff56280ea add -q option преди 4 години
.gitignore 3cdfc5819b initial commit преди 4 години
LICENSE 8ec89c5a53 Add LICENSE преди 4 години
Makefile c6388ee890 add missing -f to clean recipe преди 4 години
README.md fff56280ea add -q option преди 4 години
array.c fff56280ea add -q option преди 4 години

README.md

array

translate files to C arrays

Synopsis

array [-s] [-q qualifier] [file...]

Description

The array utility translates its input into C arrays (of a qualified type of char) that can then be used (via #include) in larger C programs. This is useful if you need to embed a binary (e.g. an image) or text (e.g. a template) file and need to ship a program as a single, self-contained executable.

Options

The array utility conforms to the XBD Utility Syntax Guidelines. It supports the following options:

-s Include an additional identifier in the output indicating

the size of the array. See STDOUT below for a detailed
description.

-q Apply the C type qualifier qualifier to the generated array. If

none is provided, the default is `unsigned`. To remove any qualifiers
altogether (e.g. to declare an array of `char`), specify the empty
string (e.g. `-q ''`).

Operands

The array utility supports the following operands:

file A pathname of an input file. If - is specified, array

reads from the standard input.

STDIN

The standard input is used if no file operands are provided or if - is specified as an operand.

Input Files

Input files are treated as raw binary streams, with no requirements on format.

STDOUT

A definition of a C array of type qualified char and unspecified length, with members initialized to the bytes of the input file. Each array is named with the name of the input file, except all non alphanumeric characters (as identified by the function isalnum()) are translated to _. If the input file is the standard input, the name of the array is stdin.

If the -s option is specified, the standard output also includes the definition of a size identifier. This identifier has the same name as the array, suffixed with _size, and type size_t.

STDERR

The standard error is used for printing diagnostic messages.

Output Files

None.

Extended Description

None.

Exit Status

0 Successful completion.

0 An error occurred.

Consequence of Errors

If one or more input files cannot be opened, array will print a diagnostic message to standard error and that file will not produe any output to standard output.