-/* Copyright 2001 Free Software Foundation, Inc.
+/* Copyright 2001, 2003, 2005 Free Software Foundation, Inc.
Written by Steve Chamberlain of Cygnus Support (steve@cygnus.com).
This file is part of GNU binutils.
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
%{
#include <stdio.h>
#include <stdlib.h>
-extern char *word;
-extern char writecode;
-extern int number;
-extern int unit;
-char nice_name[1000];
-char *it;
-int sofar;
-int width;
-int code;
-char * repeat;
-char *oldrepeat;
-char *name;
-int rdepth;
-char *loop [] = {"","n","m","/*BAD*/"};
-char *names[] = {" ","[n]","[n][m]"};
-char *pnames[]= {"","*","**"};
+static char writecode;
+static char *it;
+static int code;
+static char * repeat;
+static char *oldrepeat;
+static char *name;
+static int rdepth;
+static char *names[] = {" ","[n]","[n][m]"};
+static char *pnames[]= {"","*","**"};
+
+static int yyerror (char *s);
+extern int yylex (void);
%}
printf("#ifdef SYSROFF_PRINT\n");
printf("#include <stdio.h>\n");
printf("#include <stdlib.h>\n");
+ printf("#include <ansidecl.h>\n");
break;
}
}
{
case 'd':
printf("\n\n\n#define IT_%s_CODE 0x%x\n", it,code);
+ printf("struct IT_%s;\n", it);
+ printf("extern void sysroff_swap_%s_in PARAMS ((struct IT_%s *));\n",
+ $2, it);
+ printf("extern void sysroff_swap_%s_out PARAMS ((FILE *, struct IT_%s *));\n",
+ $2, it);
+ printf("extern void sysroff_print_%s_out PARAMS ((struct IT_%s *));\n",
+ $2, it);
printf("struct IT_%s { \n", it);
break;
case 'i':
printf("void sysroff_swap_%s_in(ptr)\n",$2);
printf("struct IT_%s *ptr;\n", it);
printf("{\n");
- printf("char raw[255];\n");
+ printf("unsigned char raw[255];\n");
printf("\tint idx = 0 ;\n");
printf("\tint size;\n");
printf("memset(raw,0,255);\n");
printf("FILE * file;\n");
printf("struct IT_%s *ptr;\n", it);
printf("{\n");
- printf("\tchar raw[255];\n");
+ printf("\tunsigned char raw[255];\n");
printf("\tint idx = 16 ;\n");
printf("\tmemset (raw, 0, 255);\n");
printf("\tcode = IT_%s_CODE;\n", it);
%%
/* four modes
- -d write structure defintions for sysroff in host format
+ -d write structure definitions for sysroff in host format
-i write functions to swap into sysroff format in
-o write functions to swap into sysroff format out
-c write code to print info in human form */
int yydebug;
-char writecode;
int
-main(ac,av)
-int ac;
-char **av;
+main (int ac, char **av)
{
yydebug=0;
if (ac > 1)
return 0;
}
-int
-yyerror(s)
- char *s;
+static int
+yyerror (char *s)
{
fprintf(stderr, "%s\n" , s);
return 0;