Integrating patchs from Roland Stigge (Debian).

* Differing definitions of <ctp_name> structure in ctp.
* Parsing command line in <asimut>, <m2e> & <mips_asm>
  (Debian bugs #715651, #716529 & #716217)
This commit is contained in:
Jean-Paul Chaput 2014-02-19 15:08:05 +01:00
parent 17ace03ec5
commit 7d2cea9213
4 changed files with 16 additions and 30 deletions

View File

@ -151,8 +151,8 @@ char *argv[];
arg_flg [i ] = 1; arg_flg [i ] = 1;
} }
if ((!strcmp (argv [i], "-fixeddelay")) if (((!strcmp (argv [i], "-fixeddelay"))
|| (!strcmp (argv [i], "-fd"))) || (!strcmp (argv [i], "-fd"))) && (argc > i + 1))
{ {
fixdly_flg = 1; fixdly_flg = 1;
delay_mode |= BEH_DELAY_FIXED; delay_mode |= BEH_DELAY_FIXED;
@ -161,8 +161,8 @@ char *argv[];
arg_flg [i+1] = 1; arg_flg [i+1] = 1;
} }
if ((!strcmp (argv [i], "-backdelay")) if (((!strcmp (argv [i], "-backdelay"))
|| (!strcmp (argv [i], "-bd"))) || (!strcmp (argv [i], "-bd"))) && (argc > i + 1))
{ {
bckdly_flg = i + 2; bckdly_flg = i + 2;
delay_mode |= BEH_DELAY_BACKANOTATED; delay_mode |= BEH_DELAY_BACKANOTATED;
@ -217,14 +217,14 @@ char *argv[];
arg_flg [i] = 1; arg_flg [i] = 1;
} }
if (!strcmp (argv [i], "-p")) if (!strcmp (argv [i], "-p") && (argc > i + 1))
{ {
sscanf (argv [i+1], "%u", &max_pat); sscanf (argv [i+1], "%u", &max_pat);
arg_flg [i ] = 1; arg_flg [i ] = 1;
arg_flg [i+1] = 1; arg_flg [i+1] = 1;
} }
if (!strcmp (argv [i], "-l")) if (!strcmp (argv [i], "-l") && (argc > i + 1))
{ {
sscanf (argv [i+1], "%u", &labelsiz); sscanf (argv [i+1], "%u", &labelsiz);
arg_flg [i ] = 1; arg_flg [i ] = 1;
@ -237,7 +237,7 @@ char *argv[];
arg_flg [i] = 1; arg_flg [i] = 1;
} }
if (!strcmp (argv [i], "-stat")) if (!strcmp (argv [i], "-stat") && (argc > i + 1))
{ {
stat_flg = i + 2; stat_flg = i + 2;
sscanf (argv [i+1], "%u", &ref_date); sscanf (argv [i+1], "%u", &ref_date);
@ -260,7 +260,7 @@ char *argv[];
arg_flg [i+1] = 1; arg_flg [i+1] = 1;
} }
if (!strcmp (argv [i], "-inspect")) if (!strcmp (argv [i], "-inspect") && (argc > i + 1))
{ {
str = namealloc (argv [i+1]); str = namealloc (argv [i+1]);
pt_pains = pat_addpains (pt_pains, str, str); pt_pains = pat_addpains (pt_pains, str, str);

View File

@ -38,25 +38,7 @@
#include "vex.h" #include "vex.h"
#include "ctl.h" #include "ctl.h"
typedef struct ctp_expr #include "ctp_bspec.h"
{
vexexpr *IDENT; /* identifier or constant name */
vexexpr *VEX; /* pointer on bvl_abllst list */
short WIDTH;
short TYPE;
}
ctp_vexstr;
typedef struct
{
char *NAME; /* identifier name */
long LEFT; /* vector's left index */
long RIGHT; /* vector's right index */
short WIDTH;
char FLAG;
}
ctp_name;
#include "ctp_y.h" #include "ctp_y.h"
#include "ctp_bedef.h" #include "ctp_bedef.h"
#include "ctp_blex.h" #include "ctp_blex.h"

View File

@ -102,6 +102,8 @@ int ParseCommand(int argc,char *argv[])
switch(argv[i][1]) switch(argv[i][1])
{ {
case 'v': case 'v':
if (argc <= i + 1)
break;
i++; i++;
sscanf(argv[i],"%11d",&VerboseMode); sscanf(argv[i],"%11d",&VerboseMode);
if(VerboseMode>=VMINFO) if(VerboseMode>=VMINFO)
@ -109,6 +111,8 @@ int ParseCommand(int argc,char *argv[])
break; break;
case 'o': case 'o':
if (argc <= i + 1)
break;
i++; i++;
OutputName=argv[i]; OutputName=argv[i];
if(VerboseMode>=VMINFO) if(VerboseMode>=VMINFO)

View File

@ -99,14 +99,14 @@ char *argv [];
{ {
if (arg_flg [i] == 0) if (arg_flg [i] == 0)
{ {
if (!strcmp (argv[i], "-textsize")) if (!strcmp (argv[i], "-textsize") && argc > i + 1)
{ {
sscanf (argv[i+1], "%u", &txt_siz); sscanf (argv[i+1], "%u", &txt_siz);
arg_flg [i ] = 1; arg_flg [i ] = 1;
arg_flg [i+1] = 1; arg_flg [i+1] = 1;
} }
if (!strcmp (argv[i], "-datasize")) if (!strcmp (argv[i], "-datasize") && argc > i + 1)
{ {
sscanf (argv[i+1], "%u", &dat_siz); sscanf (argv[i+1], "%u", &dat_siz);
arg_flg [i ] = 1; arg_flg [i ] = 1;
@ -119,7 +119,7 @@ char *argv [];
arg_flg [i] = 1 ; arg_flg [i] = 1 ;
} }
if (!strcmp (argv[i], "-symbol")) if (!strcmp (argv[i], "-symbol") && argc > i + 1)
{ {
MPS_SYMBOL = 'y' ; MPS_SYMBOL = 'y' ;
symbol_fil = argv [i+1]; symbol_fil = argv [i+1];