struct file_handle *fh; /* File handle. */
FILE *file; /* File stream. */
char cc; /* Current character. */
- unsigned char *trans; /* 256-byte character set translation table. */
-
+ char *trans; /* 256-byte character set translation table. */
int var_cnt; /* Number of variables. */
int weight_index; /* 0-based index of weight variable, or -1. */
int *widths; /* Variable widths, 0 for numeric. */
/* Reads a string and returns a copy of it allocated from R's
pool. */
-static unsigned char *
+static char *
read_pool_string (struct pfm_reader *r)
{
char string[256];
{
/* portable_to_local[PORTABLE] translates the given portable
character into the local character set. */
- static const unsigned char portable_to_local[256] =
+ static const char portable_to_local[256] =
{
" "
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ."
" "
};
- unsigned char *trans;
+ char *trans;
int i;
/* Read and ignore vanity splash strings. */
static void
read_version_data (struct pfm_reader *r, struct pfm_read_info *info)
{
+ static char empty_string[] = "";
char *date, *time, *product, *author, *subproduct;
int i;
error (r, "Unrecognized version code `%c'.", r->cc);
date = read_pool_string (r);
time = read_pool_string (r);
- product = match (r, '1') ? read_pool_string (r) : (unsigned char *) "";
- author = match (r, '2') ? read_pool_string (r) : (unsigned char *) "";
- subproduct
- = match (r, '3') ? read_pool_string (r) : (unsigned char *) "";
+ product = match (r, '1') ? read_pool_string (r) : empty_string;
+ author = match (r, '2') ? read_pool_string (r) : empty_string;
+ subproduct = match (r, '3') ? read_pool_string (r) : empty_string;
/* Validate file. */
if (strlen (date) != 8)
r->var_cnt = read_int (r);
if (r->var_cnt <= 0 || r->var_cnt == NOT_INT)
error (r, _("Invalid number of variables %d."), r->var_cnt);
- r->widths = pool_alloc (r->pool, sizeof *r->widths * r->var_cnt);
+ r->widths = pool_nalloc (r->pool, r->var_cnt, sizeof *r->widths);
/* Purpose of this value is unknown. It is typically 161. */
read_int (r);
int i;
nv = read_int (r);
- v = pool_alloc (r->pool, sizeof *v * nv);
+ v = pool_nalloc (r->pool, nv, sizeof *v);
for (i = 0; i < nv; i++)
{
char name[256];