diff --git a/ChangeLog b/ChangeLog index 6b7b13ef69..e3fda4fc97 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2000-08-20 Sven Neumann + + * plug-ins/imagemap/Makefile.am + * plug-ins/imagemap/imap_cern_parse.[ch] + * plug-ins/imagemap/imap_csim_parse.[ch] + * plug-ins/imagemap/imap_ncsa_parse.[ch]: recreated from yacc + files and added those files to the distribution. Supposed to + close bugs #8076, #9212 and #10090. + + * plug-ins/imagemap/imap_default_dialog.c + * plug-ins/imagemap/imap_file.c + * plug-ins/imagemap/imap_main.c: set help accelerator and window icon. + Fri Aug 18 18:14:35 BST 2000 Austin Donnelly * app/fileops.c: fix nasty bug where if overwriting a file and diff --git a/plug-ins/imagemap/Makefile.am b/plug-ins/imagemap/Makefile.am index 83d7167f2c..868999bb8f 100644 --- a/plug-ins/imagemap/Makefile.am +++ b/plug-ins/imagemap/Makefile.am @@ -33,7 +33,10 @@ EXTRA_DIST = \ AUTHORS \ NEWS \ README \ - TODO + TODO \ + imap_cern.y \ + imap_csim.y \ + imap_ncsa.y imagemap_SOURCES = \ imap_about.c \ diff --git a/plug-ins/imagemap/imap_cern_parse.c b/plug-ins/imagemap/imap_cern_parse.c index f800033c43..25419292e2 100644 --- a/plug-ins/imagemap/imap_cern_parse.c +++ b/plug-ins/imagemap/imap_cern_parse.c @@ -1,7 +1,6 @@ /* A Bison parser, made from imap_cern.y - by GNU Bison version 1.25 - */ + by GNU Bison version 1.28 */ #define YYBISON 1 /* Identify Bison output. */ @@ -12,16 +11,16 @@ #define yychar cern_char #define yydebug cern_debug #define yynerrs cern_nerrs -#define RECTANGLE 258 -#define POLYGON 259 -#define CIRCLE 260 -#define DEFAULT 261 -#define AUTHOR 262 -#define DESCRIPTION 263 -#define BEGIN_COMMENT 264 -#define FLOAT 265 -#define COMMENT 266 -#define LINK 267 +#define RECTANGLE 257 +#define POLYGON 258 +#define CIRCLE 259 +#define DEFAULT 260 +#define AUTHOR 261 +#define DESCRIPTION 262 +#define BEGIN_COMMENT 263 +#define FLOAT 264 +#define COMMENT 265 +#define LINK 266 #line 1 "imap_cern.y" @@ -87,7 +86,7 @@ typedef union { #define YYFLAG -32768 #define YYNTBASE 16 -#define YYTRANSLATE(x) ((unsigned)(x) <= 267 ? yytranslate[x] : 30) +#define YYTRANSLATE(x) ((unsigned)(x) <= 266 ? yytranslate[x] : 30) static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -115,8 +114,8 @@ static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12 + 2, 2, 2, 2, 2, 1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12 }; #if YYDEBUG != 0 @@ -216,7 +215,8 @@ static const short yycheck[] = { 3, 0, 15, 12, 10, 0, 14, 12, 15 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "bison.simple" +#line 3 "/usr/share/misc/bison.simple" +/* This file comes from bison-1.28. */ /* Skeleton output parser for bison, Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. @@ -233,47 +233,67 @@ static const short yycheck[] = { 3, You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ /* As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. This special exception was added by the Free Software Foundation in version 1.24 of Bison. */ -#ifndef alloca -#ifdef __GNUC__ -#define alloca __builtin_alloca -#else /* not GNU C. */ -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) -#include -#else /* not sparc */ -#if defined (MSDOS) && !defined (__TURBOC__) -#include -#else /* not MSDOS, or __TURBOC__ */ -#if defined(_AIX) -#include - #pragma alloca -#else /* not MSDOS, __TURBOC__, or _AIX */ -#ifdef __hpux -#ifdef __cplusplus -extern "C" { -void *alloca (unsigned int); -}; -#else /* not __cplusplus */ -void *alloca (); -#endif /* not __cplusplus */ -#endif /* __hpux */ -#endif /* not _AIX */ -#endif /* not MSDOS, or __TURBOC__ */ -#endif /* not sparc. */ -#endif /* not GNU C. */ -#endif /* alloca not defined. */ - /* This is the parser code that is written into each bison parser when the %semantic_parser declaration is not specified in the grammar. It was written by Richard Stallman by simplifying the hairy parser used when %semantic_parser is specified. */ +#ifndef YYSTACK_USE_ALLOCA +#ifdef alloca +#define YYSTACK_USE_ALLOCA +#else /* alloca not defined */ +#ifdef __GNUC__ +#define YYSTACK_USE_ALLOCA +#define alloca __builtin_alloca +#else /* not GNU C. */ +#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) +#define YYSTACK_USE_ALLOCA +#include +#else /* not sparc */ +/* We think this test detects Watcom and Microsoft C. */ +/* This used to test MSDOS, but that is a bad idea + since that symbol is in the user namespace. */ +#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) +#if 0 /* No need for malloc.h, which pollutes the namespace; + instead, just don't use alloca. */ +#include +#endif +#else /* not MSDOS, or __TURBOC__ */ +#if defined(_AIX) +/* I don't know what this was needed for, but it pollutes the namespace. + So I turned it off. rms, 2 May 1997. */ +/* #include */ + #pragma alloca +#define YYSTACK_USE_ALLOCA +#else /* not MSDOS, or __TURBOC__, or _AIX */ +#if 0 +#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up, + and on HPUX 10. Eventually we can turn this on. */ +#define YYSTACK_USE_ALLOCA +#define alloca __builtin_alloca +#endif /* __hpux */ +#endif +#endif /* not _AIX */ +#endif /* not MSDOS, or __TURBOC__ */ +#endif /* not sparc */ +#endif /* not GNU C */ +#endif /* alloca not defined */ +#endif /* YYSTACK_USE_ALLOCA not defined */ + +#ifdef YYSTACK_USE_ALLOCA +#define YYSTACK_ALLOC alloca +#else +#define YYSTACK_ALLOC malloc +#endif + /* Note: there must be only one dollar sign in this file. It is replaced by the list of actions, each action as one case of the switch. */ @@ -282,8 +302,8 @@ void *alloca (); #define yyclearin (yychar = YYEMPTY) #define YYEMPTY -2 #define YYEOF 0 -#define YYACCEPT return(0) -#define YYABORT return(1) +#define YYACCEPT goto yyacceptlab +#define YYABORT goto yyabortlab #define YYERROR goto yyerrlab1 /* Like YYERROR except do call yyerror. This remains here temporarily to ease the @@ -364,12 +384,12 @@ int yydebug; /* nonzero means print parse trace */ #ifndef YYMAXDEPTH #define YYMAXDEPTH 10000 #endif - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -int yyparse (void); -#endif +/* Define __yy_memcpy. Note that the size argument + should be passed with type unsigned int, because that is what the non-GCC + definitions require. With GCC, __builtin_memcpy takes an arg + of type size_t, but it can handle unsigned int. */ + #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) #else /* not GNU C or C++ */ @@ -381,7 +401,7 @@ static void __yy_memcpy (to, from, count) char *to; char *from; - int count; + unsigned int count; { register char *f = from; register char *t = to; @@ -396,10 +416,10 @@ __yy_memcpy (to, from, count) /* This is the most reliable way to avoid incompatibilities in available built-in functions on various systems. */ static void -__yy_memcpy (char *to, char *from, int count) +__yy_memcpy (char *to, char *from, unsigned int count) { - register char *f = from; register char *t = to; + register char *f = from; register int i = count; while (i-- > 0) @@ -409,7 +429,7 @@ __yy_memcpy (char *to, char *from, int count) #endif #endif -#line 196 "bison.simple" +#line 217 "/usr/share/misc/bison.simple" /* The user can define YYPARSE_PARAM as the name of an argument to be passed into yyparse. The argument should have type void *. @@ -430,6 +450,15 @@ __yy_memcpy (char *to, char *from, int count) #define YYPARSE_PARAM_DECL #endif /* not YYPARSE_PARAM */ +/* Prevent warning if -Wstrict-prototypes. */ +#ifdef __GNUC__ +#ifdef YYPARSE_PARAM +int yyparse (void *); +#else +int yyparse (void); +#endif +#endif + int yyparse(YYPARSE_PARAM_ARG) YYPARSE_PARAM_DECL @@ -458,6 +487,7 @@ yyparse(YYPARSE_PARAM_ARG) #endif int yystacksize = YYINITDEPTH; + int yyfree_stacks = 0; #ifdef YYPURE int yychar; @@ -542,18 +572,32 @@ yynewstate: if (yystacksize >= YYMAXDEPTH) { yyerror("parser stack overflow"); + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } return 2; } yystacksize *= 2; if (yystacksize > YYMAXDEPTH) yystacksize = YYMAXDEPTH; - yyss = (short *) alloca (yystacksize * sizeof (*yyssp)); - __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp)); - yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp)); - __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp)); +#ifndef YYSTACK_USE_ALLOCA + yyfree_stacks = 1; +#endif + yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp)); + __yy_memcpy ((char *)yyss, (char *)yyss1, + size * (unsigned int) sizeof (*yyssp)); + yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp)); + __yy_memcpy ((char *)yyvs, (char *)yyvs1, + size * (unsigned int) sizeof (*yyvsp)); #ifdef YYLSP_NEEDED - yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp)); - __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp)); + yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); + __yy_memcpy ((char *)yyls, (char *)yyls1, + size * (unsigned int) sizeof (*yylsp)); #endif #endif /* no yyoverflow */ @@ -794,7 +838,7 @@ case 22: break;} } /* the action file gets copied in in place of this dollarsign */ -#line 498 "bison.simple" +#line 543 "/usr/share/misc/bison.simple" yyvsp -= yylen; yyssp -= yylen; @@ -989,6 +1033,30 @@ yyerrhandle: yystate = yyn; goto yynewstate; + + yyacceptlab: + /* YYACCEPT comes here. */ + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } + return 0; + + yyabortlab: + /* YYABORT comes here. */ + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } + return 1; } #line 155 "imap_cern.y" diff --git a/plug-ins/imagemap/imap_cern_parse.h b/plug-ins/imagemap/imap_cern_parse.h index 97c339c8be..4ed0cda8f1 100644 --- a/plug-ins/imagemap/imap_cern_parse.h +++ b/plug-ins/imagemap/imap_cern_parse.h @@ -3,16 +3,16 @@ typedef union { double value; char id[256]; } YYSTYPE; -#define RECTANGLE 258 -#define POLYGON 259 -#define CIRCLE 260 -#define DEFAULT 261 -#define AUTHOR 262 -#define DESCRIPTION 263 -#define BEGIN_COMMENT 264 -#define FLOAT 265 -#define COMMENT 266 -#define LINK 267 +#define RECTANGLE 257 +#define POLYGON 258 +#define CIRCLE 259 +#define DEFAULT 260 +#define AUTHOR 261 +#define DESCRIPTION 262 +#define BEGIN_COMMENT 263 +#define FLOAT 264 +#define COMMENT 265 +#define LINK 266 extern YYSTYPE cern_lval; diff --git a/plug-ins/imagemap/imap_csim_parse.c b/plug-ins/imagemap/imap_csim_parse.c index 1fcab7d372..ee0ed907b5 100644 --- a/plug-ins/imagemap/imap_csim_parse.c +++ b/plug-ins/imagemap/imap_csim_parse.c @@ -1,7 +1,6 @@ /* A Bison parser, made from imap_csim.y - by GNU Bison version 1.25 - */ + by GNU Bison version 1.28 */ #define YYBISON 1 /* Identify Bison output. */ @@ -12,32 +11,32 @@ #define yychar csim_char #define yydebug csim_debug #define yynerrs csim_nerrs -#define IMG 258 -#define SRC 259 -#define WIDTH 260 -#define HEIGHT 261 -#define BORDER 262 -#define USEMAP 263 -#define START_MAP 264 -#define END_MAP 265 -#define NAME 266 -#define AREA 267 -#define SHAPE 268 -#define COORDS 269 -#define ALT 270 -#define HREF 271 -#define NOHREF 272 -#define TARGET 273 -#define ONMOUSEOVER 274 -#define ONMOUSEOUT 275 -#define ONFOCUS 276 -#define ONBLUR 277 -#define AUTHOR 278 -#define DESCRIPTION 279 -#define BEGIN_COMMENT 280 -#define END_COMMENT 281 -#define FLOAT 282 -#define STRING 283 +#define IMG 257 +#define SRC 258 +#define WIDTH 259 +#define HEIGHT 260 +#define BORDER 261 +#define USEMAP 262 +#define START_MAP 263 +#define END_MAP 264 +#define NAME 265 +#define AREA 266 +#define SHAPE 267 +#define COORDS 268 +#define ALT 269 +#define HREF 270 +#define NOHREF 271 +#define TARGET 272 +#define ONMOUSEOVER 273 +#define ONMOUSEOUT 274 +#define ONFOCUS 275 +#define ONBLUR 276 +#define AUTHOR 277 +#define DESCRIPTION 278 +#define BEGIN_COMMENT 279 +#define END_COMMENT 280 +#define FLOAT 281 +#define STRING 282 #line 1 "imap_csim.y" @@ -105,7 +104,7 @@ typedef union { #define YYFLAG -32768 #define YYNTBASE 32 -#define YYTRANSLATE(x) ((unsigned)(x) <= 283 ? yytranslate[x] : 59) +#define YYTRANSLATE(x) ((unsigned)(x) <= 282 ? yytranslate[x] : 59) static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -133,10 +132,10 @@ static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28 + 2, 2, 2, 2, 2, 1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28 }; #if YYDEBUG != 0 @@ -173,8 +172,8 @@ static const short yyrline[] = { 0, 62, 65, 71, 72, 75, 76, 77, 78, 79, 82, 88, 94, 100, 101, 104, 105, 106, 109, 114, 121, 131, 132, 135, 142, 143, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 158, 175, 232, 242, 247, - 253, 259, 265, 271, 277, 283 + 151, 152, 153, 154, 155, 158, 175, 233, 243, 248, + 254, 260, 266, 272, 278, 284 }; #endif @@ -273,7 +272,8 @@ static const short yycheck[] = { 5, 28, 28, 28, 28, 28, 28 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "bison.simple" +#line 3 "/usr/share/misc/bison.simple" +/* This file comes from bison-1.28. */ /* Skeleton output parser for bison, Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. @@ -290,47 +290,67 @@ static const short yycheck[] = { 5, You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ /* As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. This special exception was added by the Free Software Foundation in version 1.24 of Bison. */ -#ifndef alloca -#ifdef __GNUC__ -#define alloca __builtin_alloca -#else /* not GNU C. */ -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) -#include -#else /* not sparc */ -#if defined (MSDOS) && !defined (__TURBOC__) -#include -#else /* not MSDOS, or __TURBOC__ */ -#if defined(_AIX) -#include - #pragma alloca -#else /* not MSDOS, __TURBOC__, or _AIX */ -#ifdef __hpux -#ifdef __cplusplus -extern "C" { -void *alloca (unsigned int); -}; -#else /* not __cplusplus */ -void *alloca (); -#endif /* not __cplusplus */ -#endif /* __hpux */ -#endif /* not _AIX */ -#endif /* not MSDOS, or __TURBOC__ */ -#endif /* not sparc. */ -#endif /* not GNU C. */ -#endif /* alloca not defined. */ - /* This is the parser code that is written into each bison parser when the %semantic_parser declaration is not specified in the grammar. It was written by Richard Stallman by simplifying the hairy parser used when %semantic_parser is specified. */ +#ifndef YYSTACK_USE_ALLOCA +#ifdef alloca +#define YYSTACK_USE_ALLOCA +#else /* alloca not defined */ +#ifdef __GNUC__ +#define YYSTACK_USE_ALLOCA +#define alloca __builtin_alloca +#else /* not GNU C. */ +#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) +#define YYSTACK_USE_ALLOCA +#include +#else /* not sparc */ +/* We think this test detects Watcom and Microsoft C. */ +/* This used to test MSDOS, but that is a bad idea + since that symbol is in the user namespace. */ +#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) +#if 0 /* No need for malloc.h, which pollutes the namespace; + instead, just don't use alloca. */ +#include +#endif +#else /* not MSDOS, or __TURBOC__ */ +#if defined(_AIX) +/* I don't know what this was needed for, but it pollutes the namespace. + So I turned it off. rms, 2 May 1997. */ +/* #include */ + #pragma alloca +#define YYSTACK_USE_ALLOCA +#else /* not MSDOS, or __TURBOC__, or _AIX */ +#if 0 +#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up, + and on HPUX 10. Eventually we can turn this on. */ +#define YYSTACK_USE_ALLOCA +#define alloca __builtin_alloca +#endif /* __hpux */ +#endif +#endif /* not _AIX */ +#endif /* not MSDOS, or __TURBOC__ */ +#endif /* not sparc */ +#endif /* not GNU C */ +#endif /* alloca not defined */ +#endif /* YYSTACK_USE_ALLOCA not defined */ + +#ifdef YYSTACK_USE_ALLOCA +#define YYSTACK_ALLOC alloca +#else +#define YYSTACK_ALLOC malloc +#endif + /* Note: there must be only one dollar sign in this file. It is replaced by the list of actions, each action as one case of the switch. */ @@ -339,8 +359,8 @@ void *alloca (); #define yyclearin (yychar = YYEMPTY) #define YYEMPTY -2 #define YYEOF 0 -#define YYACCEPT return(0) -#define YYABORT return(1) +#define YYACCEPT goto yyacceptlab +#define YYABORT goto yyabortlab #define YYERROR goto yyerrlab1 /* Like YYERROR except do call yyerror. This remains here temporarily to ease the @@ -421,12 +441,12 @@ int yydebug; /* nonzero means print parse trace */ #ifndef YYMAXDEPTH #define YYMAXDEPTH 10000 #endif - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -int yyparse (void); -#endif +/* Define __yy_memcpy. Note that the size argument + should be passed with type unsigned int, because that is what the non-GCC + definitions require. With GCC, __builtin_memcpy takes an arg + of type size_t, but it can handle unsigned int. */ + #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) #else /* not GNU C or C++ */ @@ -438,7 +458,7 @@ static void __yy_memcpy (to, from, count) char *to; char *from; - int count; + unsigned int count; { register char *f = from; register char *t = to; @@ -453,10 +473,10 @@ __yy_memcpy (to, from, count) /* This is the most reliable way to avoid incompatibilities in available built-in functions on various systems. */ static void -__yy_memcpy (char *to, char *from, int count) +__yy_memcpy (char *to, char *from, unsigned int count) { - register char *f = from; register char *t = to; + register char *f = from; register int i = count; while (i-- > 0) @@ -466,7 +486,7 @@ __yy_memcpy (char *to, char *from, int count) #endif #endif -#line 196 "bison.simple" +#line 217 "/usr/share/misc/bison.simple" /* The user can define YYPARSE_PARAM as the name of an argument to be passed into yyparse. The argument should have type void *. @@ -487,6 +507,15 @@ __yy_memcpy (char *to, char *from, int count) #define YYPARSE_PARAM_DECL #endif /* not YYPARSE_PARAM */ +/* Prevent warning if -Wstrict-prototypes. */ +#ifdef __GNUC__ +#ifdef YYPARSE_PARAM +int yyparse (void *); +#else +int yyparse (void); +#endif +#endif + int yyparse(YYPARSE_PARAM_ARG) YYPARSE_PARAM_DECL @@ -515,6 +544,7 @@ yyparse(YYPARSE_PARAM_ARG) #endif int yystacksize = YYINITDEPTH; + int yyfree_stacks = 0; #ifdef YYPURE int yychar; @@ -599,18 +629,32 @@ yynewstate: if (yystacksize >= YYMAXDEPTH) { yyerror("parser stack overflow"); + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } return 2; } yystacksize *= 2; if (yystacksize > YYMAXDEPTH) yystacksize = YYMAXDEPTH; - yyss = (short *) alloca (yystacksize * sizeof (*yyssp)); - __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp)); - yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp)); - __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp)); +#ifndef YYSTACK_USE_ALLOCA + yyfree_stacks = 1; +#endif + yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp)); + __yy_memcpy ((char *)yyss, (char *)yyss1, + size * (unsigned int) sizeof (*yyssp)); + yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp)); + __yy_memcpy ((char *)yyvs, (char *)yyvs1, + size * (unsigned int) sizeof (*yyvsp)); #ifdef YYLSP_NEEDED - yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp)); - __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp)); + yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); + __yy_memcpy ((char *)yyls, (char *)yyls1, + size * (unsigned int) sizeof (*yylsp)); #endif #endif /* no yyoverflow */ @@ -903,6 +947,7 @@ case 37: } /* Remove last point if duplicate */ first = (GdkPoint*) points->data; + polygon->points = points; if (first->x == point->x && first->y == point->y) polygon_remove_last_point(polygon); polygon->points = points; @@ -910,7 +955,7 @@ case 37: ; break;} case 38: -#line 233 "imap_csim.y" +#line 234 "imap_csim.y" { if (current_type == UNDEFINED) { g_strreplace(&_map_info->default_url, yyvsp[0].id); @@ -920,49 +965,49 @@ case 38: ; break;} case 39: -#line 243 "imap_csim.y" +#line 244 "imap_csim.y" { ; break;} case 40: -#line 248 "imap_csim.y" +#line 249 "imap_csim.y" { object_set_comment(current_object, yyvsp[0].id); ; break;} case 41: -#line 254 "imap_csim.y" +#line 255 "imap_csim.y" { object_set_target(current_object, yyvsp[0].id); ; break;} case 42: -#line 260 "imap_csim.y" +#line 261 "imap_csim.y" { object_set_mouse_over(current_object, yyvsp[0].id); ; break;} case 43: -#line 266 "imap_csim.y" +#line 267 "imap_csim.y" { object_set_mouse_out(current_object, yyvsp[0].id); ; break;} case 44: -#line 272 "imap_csim.y" +#line 273 "imap_csim.y" { object_set_focus(current_object, yyvsp[0].id); ; break;} case 45: -#line 278 "imap_csim.y" +#line 279 "imap_csim.y" { object_set_blur(current_object, yyvsp[0].id); ; break;} } /* the action file gets copied in in place of this dollarsign */ -#line 498 "bison.simple" +#line 543 "/usr/share/misc/bison.simple" yyvsp -= yylen; yyssp -= yylen; @@ -1157,8 +1202,32 @@ yyerrhandle: yystate = yyn; goto yynewstate; + + yyacceptlab: + /* YYACCEPT comes here. */ + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } + return 0; + + yyabortlab: + /* YYABORT comes here. */ + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } + return 1; } -#line 286 "imap_csim.y" +#line 287 "imap_csim.y" static void diff --git a/plug-ins/imagemap/imap_csim_parse.h b/plug-ins/imagemap/imap_csim_parse.h index 11a38fbb06..a2b64edef2 100644 --- a/plug-ins/imagemap/imap_csim_parse.h +++ b/plug-ins/imagemap/imap_csim_parse.h @@ -3,32 +3,32 @@ typedef union { double value; char id[256]; } YYSTYPE; -#define IMG 258 -#define SRC 259 -#define WIDTH 260 -#define HEIGHT 261 -#define BORDER 262 -#define USEMAP 263 -#define START_MAP 264 -#define END_MAP 265 -#define NAME 266 -#define AREA 267 -#define SHAPE 268 -#define COORDS 269 -#define ALT 270 -#define HREF 271 -#define NOHREF 272 -#define TARGET 273 -#define ONMOUSEOVER 274 -#define ONMOUSEOUT 275 -#define ONFOCUS 276 -#define ONBLUR 277 -#define AUTHOR 278 -#define DESCRIPTION 279 -#define BEGIN_COMMENT 280 -#define END_COMMENT 281 -#define FLOAT 282 -#define STRING 283 +#define IMG 257 +#define SRC 258 +#define WIDTH 259 +#define HEIGHT 260 +#define BORDER 261 +#define USEMAP 262 +#define START_MAP 263 +#define END_MAP 264 +#define NAME 265 +#define AREA 266 +#define SHAPE 267 +#define COORDS 268 +#define ALT 269 +#define HREF 270 +#define NOHREF 271 +#define TARGET 272 +#define ONMOUSEOVER 273 +#define ONMOUSEOUT 274 +#define ONFOCUS 275 +#define ONBLUR 276 +#define AUTHOR 277 +#define DESCRIPTION 278 +#define BEGIN_COMMENT 279 +#define END_COMMENT 280 +#define FLOAT 281 +#define STRING 282 extern YYSTYPE csim_lval; diff --git a/plug-ins/imagemap/imap_default_dialog.c b/plug-ins/imagemap/imap_default_dialog.c index c5380d6152..1424746438 100644 --- a/plug-ins/imagemap/imap_default_dialog.c +++ b/plug-ins/imagemap/imap_default_dialog.c @@ -22,6 +22,8 @@ */ #include "config.h" + +#include "libgimp/gimpui.h" #include "libgimp/stdplugins-intl.h" #include "imap_default_dialog.h" @@ -97,6 +99,7 @@ make_default_dialog(const gchar *title) data->cancel_cb = NULL; data->dialog = dialog = gtk_dialog_new(); gtk_window_set_title(GTK_WINDOW(dialog), title); + gimp_dialog_set_icon (GTK_WINDOW(dialog)); gtk_signal_connect(GTK_OBJECT(dialog), "delete_event", GTK_SIGNAL_FUNC(dialog_destroy), (gpointer) data); @@ -139,7 +142,7 @@ make_default_dialog(const gchar *title) gtk_box_pack_start(GTK_BOX(hbbox), data->help, FALSE, FALSE, 0); gtk_widget_show(data->help); */ - + return data; } diff --git a/plug-ins/imagemap/imap_file.c b/plug-ins/imagemap/imap_file.c index 43a9e97e85..c8a48dec46 100644 --- a/plug-ins/imagemap/imap_file.c +++ b/plug-ins/imagemap/imap_file.c @@ -21,13 +21,16 @@ * */ +#include "config.h" + #include #include -#include "config.h" +#include "libgimp/stdplugins-intl.h" +#include "libgimp/gimpui.h" + #include "imap_default_dialog.h" #include "imap_file.h" -#include "libgimp/stdplugins-intl.h" #include "imap_main.h" #include "imap_table.h" @@ -54,6 +57,7 @@ do_file_open_dialog(void) static GtkWidget *dialog; if (!dialog) { dialog = gtk_file_selection_new(_("Load Imagemap")); + gimp_dialog_set_icon (GTK_WINDOW (dialog)); gtk_signal_connect_object( GTK_OBJECT(GTK_FILE_SELECTION(dialog)->cancel_button), "clicked", GTK_SIGNAL_FUNC(gtk_widget_hide), GTK_OBJECT(dialog)); @@ -114,6 +118,7 @@ do_file_save_as_dialog(void) static GtkWidget *dialog; if (!dialog) { dialog = gtk_file_selection_new(_("Save Imagemap")); + gimp_dialog_set_icon (GTK_WINDOW (dialog)); gtk_signal_connect_object( GTK_OBJECT(GTK_FILE_SELECTION(dialog)->cancel_button), "clicked", GTK_SIGNAL_FUNC(gtk_widget_hide), GTK_OBJECT(dialog)); diff --git a/plug-ins/imagemap/imap_main.c b/plug-ins/imagemap/imap_main.c index 1973f5d8a9..52baa55efc 100644 --- a/plug-ins/imagemap/imap_main.c +++ b/plug-ins/imagemap/imap_main.c @@ -1333,6 +1333,7 @@ dialog(GDrawable *drawable) gtk_widget_realize(dlg); main_set_title(NULL); + gimp_help_connect_help_accel (dlg, gimp_standard_help_func, "filters/imagemap.html"); gtk_window_set_position(GTK_WINDOW(dlg), GTK_WIN_POS_MOUSE); gtk_signal_connect(GTK_OBJECT(dlg), "destroy", diff --git a/plug-ins/imagemap/imap_ncsa_parse.c b/plug-ins/imagemap/imap_ncsa_parse.c index 762fa0079f..7573d70419 100644 --- a/plug-ins/imagemap/imap_ncsa_parse.c +++ b/plug-ins/imagemap/imap_ncsa_parse.c @@ -1,7 +1,6 @@ /* A Bison parser, made from imap_ncsa.y - by GNU Bison version 1.25 - */ + by GNU Bison version 1.28 */ #define YYBISON 1 /* Identify Bison output. */ @@ -12,17 +11,17 @@ #define yychar ncsa_char #define yydebug ncsa_debug #define yynerrs ncsa_nerrs -#define RECTANGLE 258 -#define POLYGON 259 -#define CIRCLE 260 -#define DEFAULT 261 -#define AUTHOR 262 -#define TITLE 263 -#define DESCRIPTION 264 -#define BEGIN_COMMENT 265 -#define FLOAT 266 -#define LINK 267 -#define COMMENT 268 +#define RECTANGLE 257 +#define POLYGON 258 +#define CIRCLE 259 +#define DEFAULT 260 +#define AUTHOR 261 +#define TITLE 262 +#define DESCRIPTION 263 +#define BEGIN_COMMENT 264 +#define FLOAT 265 +#define LINK 266 +#define COMMENT 267 #line 1 "imap_ncsa.y" @@ -87,7 +86,7 @@ typedef union { #define YYFLAG -32768 #define YYNTBASE 15 -#define YYTRANSLATE(x) ((unsigned)(x) <= 268 ? yytranslate[x] : 31) +#define YYTRANSLATE(x) ((unsigned)(x) <= 267 ? yytranslate[x] : 31) static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -115,8 +114,8 @@ static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13 + 2, 2, 2, 2, 2, 1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13 }; #if YYDEBUG != 0 @@ -214,7 +213,8 @@ static const short yycheck[] = { 3, 11, 14, 0, 0, 11 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "bison.simple" +#line 3 "/usr/share/misc/bison.simple" +/* This file comes from bison-1.28. */ /* Skeleton output parser for bison, Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. @@ -231,47 +231,67 @@ static const short yycheck[] = { 3, You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ /* As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. This special exception was added by the Free Software Foundation in version 1.24 of Bison. */ -#ifndef alloca -#ifdef __GNUC__ -#define alloca __builtin_alloca -#else /* not GNU C. */ -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) -#include -#else /* not sparc */ -#if defined (MSDOS) && !defined (__TURBOC__) -#include -#else /* not MSDOS, or __TURBOC__ */ -#if defined(_AIX) -#include - #pragma alloca -#else /* not MSDOS, __TURBOC__, or _AIX */ -#ifdef __hpux -#ifdef __cplusplus -extern "C" { -void *alloca (unsigned int); -}; -#else /* not __cplusplus */ -void *alloca (); -#endif /* not __cplusplus */ -#endif /* __hpux */ -#endif /* not _AIX */ -#endif /* not MSDOS, or __TURBOC__ */ -#endif /* not sparc. */ -#endif /* not GNU C. */ -#endif /* alloca not defined. */ - /* This is the parser code that is written into each bison parser when the %semantic_parser declaration is not specified in the grammar. It was written by Richard Stallman by simplifying the hairy parser used when %semantic_parser is specified. */ +#ifndef YYSTACK_USE_ALLOCA +#ifdef alloca +#define YYSTACK_USE_ALLOCA +#else /* alloca not defined */ +#ifdef __GNUC__ +#define YYSTACK_USE_ALLOCA +#define alloca __builtin_alloca +#else /* not GNU C. */ +#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) +#define YYSTACK_USE_ALLOCA +#include +#else /* not sparc */ +/* We think this test detects Watcom and Microsoft C. */ +/* This used to test MSDOS, but that is a bad idea + since that symbol is in the user namespace. */ +#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) +#if 0 /* No need for malloc.h, which pollutes the namespace; + instead, just don't use alloca. */ +#include +#endif +#else /* not MSDOS, or __TURBOC__ */ +#if defined(_AIX) +/* I don't know what this was needed for, but it pollutes the namespace. + So I turned it off. rms, 2 May 1997. */ +/* #include */ + #pragma alloca +#define YYSTACK_USE_ALLOCA +#else /* not MSDOS, or __TURBOC__, or _AIX */ +#if 0 +#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up, + and on HPUX 10. Eventually we can turn this on. */ +#define YYSTACK_USE_ALLOCA +#define alloca __builtin_alloca +#endif /* __hpux */ +#endif +#endif /* not _AIX */ +#endif /* not MSDOS, or __TURBOC__ */ +#endif /* not sparc */ +#endif /* not GNU C */ +#endif /* alloca not defined */ +#endif /* YYSTACK_USE_ALLOCA not defined */ + +#ifdef YYSTACK_USE_ALLOCA +#define YYSTACK_ALLOC alloca +#else +#define YYSTACK_ALLOC malloc +#endif + /* Note: there must be only one dollar sign in this file. It is replaced by the list of actions, each action as one case of the switch. */ @@ -280,8 +300,8 @@ void *alloca (); #define yyclearin (yychar = YYEMPTY) #define YYEMPTY -2 #define YYEOF 0 -#define YYACCEPT return(0) -#define YYABORT return(1) +#define YYACCEPT goto yyacceptlab +#define YYABORT goto yyabortlab #define YYERROR goto yyerrlab1 /* Like YYERROR except do call yyerror. This remains here temporarily to ease the @@ -362,12 +382,12 @@ int yydebug; /* nonzero means print parse trace */ #ifndef YYMAXDEPTH #define YYMAXDEPTH 10000 #endif - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -int yyparse (void); -#endif +/* Define __yy_memcpy. Note that the size argument + should be passed with type unsigned int, because that is what the non-GCC + definitions require. With GCC, __builtin_memcpy takes an arg + of type size_t, but it can handle unsigned int. */ + #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) #else /* not GNU C or C++ */ @@ -379,7 +399,7 @@ static void __yy_memcpy (to, from, count) char *to; char *from; - int count; + unsigned int count; { register char *f = from; register char *t = to; @@ -394,10 +414,10 @@ __yy_memcpy (to, from, count) /* This is the most reliable way to avoid incompatibilities in available built-in functions on various systems. */ static void -__yy_memcpy (char *to, char *from, int count) +__yy_memcpy (char *to, char *from, unsigned int count) { - register char *f = from; register char *t = to; + register char *f = from; register int i = count; while (i-- > 0) @@ -407,7 +427,7 @@ __yy_memcpy (char *to, char *from, int count) #endif #endif -#line 196 "bison.simple" +#line 217 "/usr/share/misc/bison.simple" /* The user can define YYPARSE_PARAM as the name of an argument to be passed into yyparse. The argument should have type void *. @@ -428,6 +448,15 @@ __yy_memcpy (char *to, char *from, int count) #define YYPARSE_PARAM_DECL #endif /* not YYPARSE_PARAM */ +/* Prevent warning if -Wstrict-prototypes. */ +#ifdef __GNUC__ +#ifdef YYPARSE_PARAM +int yyparse (void *); +#else +int yyparse (void); +#endif +#endif + int yyparse(YYPARSE_PARAM_ARG) YYPARSE_PARAM_DECL @@ -456,6 +485,7 @@ yyparse(YYPARSE_PARAM_ARG) #endif int yystacksize = YYINITDEPTH; + int yyfree_stacks = 0; #ifdef YYPURE int yychar; @@ -540,18 +570,32 @@ yynewstate: if (yystacksize >= YYMAXDEPTH) { yyerror("parser stack overflow"); + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } return 2; } yystacksize *= 2; if (yystacksize > YYMAXDEPTH) yystacksize = YYMAXDEPTH; - yyss = (short *) alloca (yystacksize * sizeof (*yyssp)); - __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp)); - yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp)); - __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp)); +#ifndef YYSTACK_USE_ALLOCA + yyfree_stacks = 1; +#endif + yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp)); + __yy_memcpy ((char *)yyss, (char *)yyss1, + size * (unsigned int) sizeof (*yyssp)); + yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp)); + __yy_memcpy ((char *)yyvs, (char *)yyvs1, + size * (unsigned int) sizeof (*yyvsp)); #ifdef YYLSP_NEEDED - yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp)); - __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp)); + yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); + __yy_memcpy ((char *)yyls, (char *)yyls1, + size * (unsigned int) sizeof (*yylsp)); #endif #endif /* no yyoverflow */ @@ -798,7 +842,7 @@ case 26: break;} } /* the action file gets copied in in place of this dollarsign */ -#line 498 "bison.simple" +#line 543 "/usr/share/misc/bison.simple" yyvsp -= yylen; yyssp -= yylen; @@ -993,6 +1037,30 @@ yyerrhandle: yystate = yyn; goto yynewstate; + + yyacceptlab: + /* YYACCEPT comes here. */ + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } + return 0; + + yyabortlab: + /* YYABORT comes here. */ + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } + return 1; } #line 164 "imap_ncsa.y" diff --git a/plug-ins/imagemap/imap_ncsa_parse.h b/plug-ins/imagemap/imap_ncsa_parse.h index 73a1e5a13a..7bc1bfd702 100644 --- a/plug-ins/imagemap/imap_ncsa_parse.h +++ b/plug-ins/imagemap/imap_ncsa_parse.h @@ -3,17 +3,17 @@ typedef union { double value; char id[256]; } YYSTYPE; -#define RECTANGLE 258 -#define POLYGON 259 -#define CIRCLE 260 -#define DEFAULT 261 -#define AUTHOR 262 -#define TITLE 263 -#define DESCRIPTION 264 -#define BEGIN_COMMENT 265 -#define FLOAT 266 -#define LINK 267 -#define COMMENT 268 +#define RECTANGLE 257 +#define POLYGON 258 +#define CIRCLE 259 +#define DEFAULT 260 +#define AUTHOR 261 +#define TITLE 262 +#define DESCRIPTION 263 +#define BEGIN_COMMENT 264 +#define FLOAT 265 +#define LINK 266 +#define COMMENT 267 extern YYSTYPE ncsa_lval;