From dafebc5bb70303f0b5baf0b087cf4d9a64b5c7f0 Mon Sep 17 00:00:00 2001 From: marha Date: Mon, 12 Sep 2011 11:27:51 +0200 Subject: Synchronised line endinge with release branch --- libXpm/cxpm/Makefile.am | 60 ++++---- libXpm/cxpm/cxpm.c | 354 ++++++++++++++++++++++++------------------------ 2 files changed, 207 insertions(+), 207 deletions(-) (limited to 'libXpm/cxpm') diff --git a/libXpm/cxpm/Makefile.am b/libXpm/cxpm/Makefile.am index 84b2b4d0d..e7481a034 100644 --- a/libXpm/cxpm/Makefile.am +++ b/libXpm/cxpm/Makefile.am @@ -1,30 +1,30 @@ -bin_PROGRAMS = cxpm - -AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/include/X11 -AM_CFLAGS = $(CWARNFLAGS) $(XPM_CFLAGS) - -cxpm_SOURCES = cxpm.c - -# Man page -appmandir = $(APP_MAN_DIR) - -appman_PRE = cxpm.man -appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@) - -EXTRA_DIST = $(appman_PRE) -CLEANFILES = $(appman_DATA) - -SUFFIXES = .$(APP_MAN_SUFFIX) .man - -# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure -.man.$(APP_MAN_SUFFIX): - $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ - -if USE_GETTEXT -noinst_DATA = cxpm.po - -cxpm.po: $(cxpm_SOURCES:%=$(srcdir)/%) - $(AM_V_GEN)xgettext -c"L10N_Comments" -d cxpm -n $(cxpm_SOURCES:%=$(srcdir)/%) - -CLEANFILES += cxpm.po -endif +bin_PROGRAMS = cxpm + +AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/include/X11 +AM_CFLAGS = $(CWARNFLAGS) $(XPM_CFLAGS) + +cxpm_SOURCES = cxpm.c + +# Man page +appmandir = $(APP_MAN_DIR) + +appman_PRE = cxpm.man +appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@) + +EXTRA_DIST = $(appman_PRE) +CLEANFILES = $(appman_DATA) + +SUFFIXES = .$(APP_MAN_SUFFIX) .man + +# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure +.man.$(APP_MAN_SUFFIX): + $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ + +if USE_GETTEXT +noinst_DATA = cxpm.po + +cxpm.po: $(cxpm_SOURCES:%=$(srcdir)/%) + $(AM_V_GEN)xgettext -c"L10N_Comments" -d cxpm -n $(cxpm_SOURCES:%=$(srcdir)/%) + +CLEANFILES += cxpm.po +endif diff --git a/libXpm/cxpm/cxpm.c b/libXpm/cxpm/cxpm.c index 8b49c1b01..49296ee10 100644 --- a/libXpm/cxpm/cxpm.c +++ b/libXpm/cxpm/cxpm.c @@ -1,177 +1,177 @@ -/* - * Copyright (C) 1998 Arnaud LE HORS - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * Arnaud LE HORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name of Arnaud LE HORS shall not be - * used in advertising or otherwise to promote the sale, use or other dealings - * in this Software without prior written authorization from Arnaud LE HORS. - */ - -/*****************************************************************************\ -* cxpm.c: * -* * -* Check XPM File program * -* * -* Developed by Arnaud Le Hors * -\*****************************************************************************/ - -#define CXPMPROG - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "XpmI.h" -#ifdef USE_GETTEXT -#include -#include -#else -#define gettext(a) (a) -#endif - -#undef xpmGetC -#define xpmGetC(data) sGetc(data, data->stream.file) -#define Getc sGetc -#define Ungetc sUngetc - - -/* - * special getc and ungetc counting read lines and characters - * note that 's' could stand both for "special" and "slow" ;-) - */ -static int -sGetc(xpmData *data, FILE *file) -{ - int c = getc(data->stream.file); - if (c == '\n') { - data->lineNum++; - data->charNum = 0; - } else { - data->charNum++; - } - return c; -} - -static void -sUngetc(xpmData *data, int c, FILE *file) -{ - ungetc(c, data->stream.file); - if (c == '\n') { - data->lineNum--; - data->charNum = 0; - } else { - data->charNum--; - } -} - -/* include all the code we need (yeah, I know, quite ugly...) */ -#include "data.c" -#include "parse.c" -#include "RdFToI.c" /* only for OpenReadFile and xpmDataClose */ -#include "hashtab.c" -#include "misc.c" -#include "Attrib.c" -#include "Image.c" - -static void -ErrorMessage( - int ErrorStatus, - xpmData *data) - -{ - char *error = NULL; - - switch (ErrorStatus) { - case XpmSuccess: - return; - case XpmOpenFailed: - /* L10N_Comments : Error produced when filename does not exist - or insufficient permissions to open (i.e. cxpm /no/such/file ) */ - error = gettext("Cannot open file"); - break; - case XpmFileInvalid: - /* L10N_Comments : Error produced when filename can be read, but - is not an XPM file (i.e. cxpm /dev/null ) */ - error = gettext("Invalid XPM file"); - break; - case XpmNoMemory: - /* L10N_Comments : Error produced when filename can be read, but - is too big for memory - (i.e. limit datasize 32 ; cxpm /usr/dt/backdrops/Crochet.pm ) */ - error = gettext("Not enough memory"); - break; - case XpmColorFailed: - /* L10N_Comments : Error produced when filename can be read, but - contains an invalid color specification (need to create test case)*/ - error = gettext("Failed to parse color"); - break; - } - - if (error) { - /* L10N_Comments : Wrapper around above Xpm errors - %s is - replaced with the contents of the error message retrieved above */ - fprintf(stderr, gettext("Xpm Error: %s.\n"), error); - if (ErrorStatus == XpmFileInvalid && data) - /* L10N_Comments : Error produced when filename can be read, but - is not an XPM file (i.e. cxpm /dev/null ) */ - fprintf(stderr, gettext("Error found line %d near character %d\n"), - data->lineNum + 1, - data->charNum + 1); - exit(1); - } -} - -int -main(int argc, char **argv) -{ - XpmImage image; - char *filename; - int ErrorStatus; - xpmData data; - -#ifdef USE_GETTEXT - setlocale(LC_ALL,""); - bindtextdomain("cxpm",LOCALEDIR); - textdomain("cxpm"); -#endif - - if (argc > 1) { - if (!strcmp(argv[1], "-?") || !strncmp(argv[1], "-h", 2)) { - /* L10N_Comments : Usage message produced by running cxpm -h - %s will be replaced by argv[0] (program name) */ - fprintf(stderr, gettext("Usage: %s [filename]\n"), argv[0]); - exit(1); - } - filename = argv[1]; - } else { - filename = NULL; - } - - xpmInitXpmImage(&image); - - if ((ErrorStatus = OpenReadFile(filename, &data)) != XpmSuccess) - ErrorMessage(ErrorStatus, NULL); - - ErrorStatus = xpmParseData(&data, &image, NULL); - ErrorMessage(ErrorStatus, &data); - - xpmDataClose(&data); - XpmFreeXpmImage(&image); - - exit(0); -} +/* + * Copyright (C) 1998 Arnaud LE HORS + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * Arnaud LE HORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * Except as contained in this notice, the name of Arnaud LE HORS shall not be + * used in advertising or otherwise to promote the sale, use or other dealings + * in this Software without prior written authorization from Arnaud LE HORS. + */ + +/*****************************************************************************\ +* cxpm.c: * +* * +* Check XPM File program * +* * +* Developed by Arnaud Le Hors * +\*****************************************************************************/ + +#define CXPMPROG + +#ifdef HAVE_CONFIG_H +#include +#endif +#include "XpmI.h" +#ifdef USE_GETTEXT +#include +#include +#else +#define gettext(a) (a) +#endif + +#undef xpmGetC +#define xpmGetC(data) sGetc(data, data->stream.file) +#define Getc sGetc +#define Ungetc sUngetc + + +/* + * special getc and ungetc counting read lines and characters + * note that 's' could stand both for "special" and "slow" ;-) + */ +static int +sGetc(xpmData *data, FILE *file) +{ + int c = getc(data->stream.file); + if (c == '\n') { + data->lineNum++; + data->charNum = 0; + } else { + data->charNum++; + } + return c; +} + +static void +sUngetc(xpmData *data, int c, FILE *file) +{ + ungetc(c, data->stream.file); + if (c == '\n') { + data->lineNum--; + data->charNum = 0; + } else { + data->charNum--; + } +} + +/* include all the code we need (yeah, I know, quite ugly...) */ +#include "data.c" +#include "parse.c" +#include "RdFToI.c" /* only for OpenReadFile and xpmDataClose */ +#include "hashtab.c" +#include "misc.c" +#include "Attrib.c" +#include "Image.c" + +static void +ErrorMessage( + int ErrorStatus, + xpmData *data) + +{ + char *error = NULL; + + switch (ErrorStatus) { + case XpmSuccess: + return; + case XpmOpenFailed: + /* L10N_Comments : Error produced when filename does not exist + or insufficient permissions to open (i.e. cxpm /no/such/file ) */ + error = gettext("Cannot open file"); + break; + case XpmFileInvalid: + /* L10N_Comments : Error produced when filename can be read, but + is not an XPM file (i.e. cxpm /dev/null ) */ + error = gettext("Invalid XPM file"); + break; + case XpmNoMemory: + /* L10N_Comments : Error produced when filename can be read, but + is too big for memory + (i.e. limit datasize 32 ; cxpm /usr/dt/backdrops/Crochet.pm ) */ + error = gettext("Not enough memory"); + break; + case XpmColorFailed: + /* L10N_Comments : Error produced when filename can be read, but + contains an invalid color specification (need to create test case)*/ + error = gettext("Failed to parse color"); + break; + } + + if (error) { + /* L10N_Comments : Wrapper around above Xpm errors - %s is + replaced with the contents of the error message retrieved above */ + fprintf(stderr, gettext("Xpm Error: %s.\n"), error); + if (ErrorStatus == XpmFileInvalid && data) + /* L10N_Comments : Error produced when filename can be read, but + is not an XPM file (i.e. cxpm /dev/null ) */ + fprintf(stderr, gettext("Error found line %d near character %d\n"), + data->lineNum + 1, + data->charNum + 1); + exit(1); + } +} + +int +main(int argc, char **argv) +{ + XpmImage image; + char *filename; + int ErrorStatus; + xpmData data; + +#ifdef USE_GETTEXT + setlocale(LC_ALL,""); + bindtextdomain("cxpm",LOCALEDIR); + textdomain("cxpm"); +#endif + + if (argc > 1) { + if (!strcmp(argv[1], "-?") || !strncmp(argv[1], "-h", 2)) { + /* L10N_Comments : Usage message produced by running cxpm -h + %s will be replaced by argv[0] (program name) */ + fprintf(stderr, gettext("Usage: %s [filename]\n"), argv[0]); + exit(1); + } + filename = argv[1]; + } else { + filename = NULL; + } + + xpmInitXpmImage(&image); + + if ((ErrorStatus = OpenReadFile(filename, &data)) != XpmSuccess) + ErrorMessage(ErrorStatus, NULL); + + ErrorStatus = xpmParseData(&data, &image, NULL); + ErrorMessage(ErrorStatus, &data); + + xpmDataClose(&data); + XpmFreeXpmImage(&image); + + exit(0); +} -- cgit v1.2.3