unidup.c File Reference

unidup - Check for duplicate code points in sorted unifont.hex file More...

`#include <stdio.h>`
`#include <stdlib.h>`
Include dependency graph for unidup.c:

Go to the source code of this file.

## Macros

#define | MAXBUF 256
| Maximum input line length - 1. More...

## Functions

int | main (int argc, char **argv)
| The main function. More...

## Detailed Description

unidup - Check for duplicate code points in sorted unifont.hex file

Author
  Paul Hardy, unifoundry <at> unifoundry.com, December 2007

Copyright
  Copyright (C) 2007, 2008, 2013 Paul Hardy

This program reads a sorted list of glyphs in Unifont .hex format and prints duplicate code points on stderr if any were detected.

Synopsis: unidup < unifont_file.hex

          [Hopefully there won't be any output!]

Definition in file unidup.c.

## Macro Definition Documentation

## MAXBUF

#define MAXBUF 256

Maximum input line length - 1.

Definition at line 37 of file unidup.c.

## Function Documentation

## main()

int main | ( | int | argc,
|  | char ** | argv
| ) |  |

The main function.

Parameters

  [in] | argc | The count of command line arguments.
  [in] | argv | Pointer to array of command line arguments.

Returns
  This program exits with status 0.

Definition at line 48 of file unidup.c.

{
int ix, iy;
char inbuf[MAXBUF];
char *infile; /* the input file name */
FILE *infilefp; /* file pointer to input file */
if (argc > 1) {
infile = argv[1];
if ((infilefp = fopen (infile, "r")) == NULL) {
fprintf (stderr, "\nERROR: Can't open file %s\n\n", infile);
exit (EXIT_FAILURE);
}
}
else {
infilefp = stdin;
}
ix = -1;
while (fgets (inbuf, MAXBUF-1, infilefp) != NULL) {
sscanf (inbuf, "%X", &iy);
if (ix == iy) fprintf (stderr, "Duplicate code point: %04X\n", ix);
else ix = iy;
}
exit (0);
}
MAXBUF
#define MAXBUF
Maximum input line length - 1.
Definition: unidup.c:37