Blame src/otferror.c

Packit daac2c
/* otferror.c -- Error handling.
Packit daac2c
Packit daac2c
Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Packit daac2c
  National Institute of Advanced Industrial Science and Technology (AIST)
Packit daac2c
  Registration Number H15PRO167
Packit daac2c
Packit daac2c
This file is part of libotf.
Packit daac2c
Packit daac2c
Libotf is free software; you can redistribute it and/or modify it
Packit daac2c
under the terms of the GNU Lesser General Public License as published
Packit daac2c
by the Free Software Foundation; either version 2.1 of the License, or
Packit daac2c
(at your option) any later version.
Packit daac2c
Packit daac2c
Libotf is distributed in the hope that it will be useful, but WITHOUT
Packit daac2c
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
Packit daac2c
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
Packit daac2c
License for more details.
Packit daac2c
Packit daac2c
You should have received a copy of the GNU Lesser General Public
Packit daac2c
License along with this library, in a file named COPYING; if not,
Packit daac2c
write to the Free Software Foundation, Inc., 59 Temple Place, Suite
Packit daac2c
330, Boston, MA 02111-1307, USA.  */
Packit daac2c
Packit daac2c
#include <stdio.h>
Packit daac2c
#include <stdlib.h>
Packit daac2c
#include <string.h>
Packit daac2c
#include <config.h>
Packit daac2c
Packit daac2c
#include "otf.h"
Packit daac2c
Packit daac2c
static char error_message[1024];
Packit daac2c
int OTF_error;
Packit daac2c
Packit daac2c
static char *error_string[] =
Packit daac2c
  {
Packit daac2c
    "No error",
Packit daac2c
    "Memory shortage",
Packit daac2c
    "File error",
Packit daac2c
    "Invalid table",
Packit daac2c
    "CMAP drive",
Packit daac2c
    "GDEF drive",
Packit daac2c
    "GSUB drive",
Packit daac2c
    "GPOS drive"
Packit daac2c
  };
Packit daac2c
Packit daac2c
int
Packit daac2c
otf__error (int err, const char *fmt, const void *arg)
Packit daac2c
{
Packit daac2c
  sprintf (error_message, "OTF-Error (%s): ", error_string[err]);
Packit daac2c
  sprintf (error_message + strlen (error_message), fmt, arg);
Packit daac2c
  OTF_error = err;
Packit daac2c
  return 0;
Packit daac2c
}
Packit daac2c
Packit daac2c
void
Packit daac2c
OTF_perror (const char *prefix)
Packit daac2c
{
Packit daac2c
  if (OTF_error == 0)
Packit daac2c
    sprintf (error_message, "%s", error_string[0]);
Packit daac2c
  if (prefix)
Packit daac2c
    fprintf (stderr, "%s: %s\n", prefix, error_message);
Packit daac2c
  else
Packit daac2c
    fprintf (stderr, "%s\n", error_message);
Packit daac2c
}