X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=sim%2Fucsim%2Fcmd.src%2Fcmdutil.cc;h=977068fc1b7b8eeb60f8dc3e424b89853aee2215;hb=a8b895ee0de37ed91bcc35e1633da977a638e4bf;hp=aa831bf8c083feb07587cc36b7a0f8db3c0d38f5;hpb=f27da39dbcab5678aca6d8462f1cc37a643f37e9;p=fw%2Fsdcc diff --git a/sim/ucsim/cmd.src/cmdutil.cc b/sim/ucsim/cmd.src/cmdutil.cc index aa831bf8..977068fc 100644 --- a/sim/ucsim/cmd.src/cmdutil.cc +++ b/sim/ucsim/cmd.src/cmdutil.cc @@ -31,10 +31,12 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include #include -#ifdef HAVE_SYS_SOCKET_H -# include -# include -# include +#ifdef SOCKET_AVAIL +# include HEADER_SOCKET +# if defined HAVE_SYS_SOCKET_H +# include +# include +# endif #endif #include "i_string.h" @@ -116,8 +118,8 @@ get_name_entry(struct name_entry tabl[], char *name, class cl_uc *uc) return(0); for (p= name; *p; *p= toupper(*p), p++); while (tabl[i].name && - (!(tabl[i].cpu_type & uc->type) || - (strcmp(tabl[i].name, name) != 0))) + (!(tabl[i].cpu_type & uc->type) || + (strcmp(tabl[i].name, name) != 0))) { //printf("tabl[%d].name=%s <-> %s\n",i,tabl[i].name,name); i++; @@ -135,9 +137,9 @@ get_name_entry(struct name_entry tabl[], char *name, class cl_uc *uc) /*bool interpret_bitname(char *name, class cl_uc *uc, - uchar **cell, uchar *celladdr, - uchar *bitaddr, uchar *bitmask, - char **symname) + uchar **cell, uchar *celladdr, + uchar *bitaddr, uchar *bitmask, + char **symname) { char *dot, *p; char *sym, bitnumstr[2]; @@ -148,48 +150,48 @@ interpret_bitname(char *name, class cl_uc *uc, { *dot++= '\0'; if ((ne= get_name_entry(uc->sfr_tbl(), name, uc)) == NULL) - { - *celladdr= strtol(name, &p, 0); - if (p && *p) - { - dot--; - *dot= '.'; - return(DD_FALSE); - } - } + { + *celladdr= strtol(name, &p, 0); + if (p && *p) + { + dot--; + *dot= '.'; + return(DD_FALSE); + } + } else - *celladdr= ne->addr; + *celladdr= ne->addr; if ((*celladdr < 0x20) || - ((*celladdr > 0x2f) && (*celladdr < 0x80)) || - ((*celladdr > 0x7f) && (*celladdr & 0x07))) - return(DD_FALSE); + ((*celladdr > 0x2f) && (*celladdr < 0x80)) || + ((*celladdr > 0x7f) && (*celladdr & 0x07))) + return(DD_FALSE); bitnum= strtol(dot, &p, 0); if ((p && *p) || - (bitnum < 0) || - (bitnum > 7)) - return(DD_FALSE); + (bitnum < 0) || + (bitnum > 7)) + return(DD_FALSE); if (*celladdr > 0x7f) - *bitaddr= *celladdr + bitnum; + *bitaddr= *celladdr + bitnum; else - *bitaddr= (*celladdr - 0x20)*8 + bitnum; + *bitaddr= (*celladdr - 0x20)*8 + bitnum; dot--; *dot= '.'; } else { if ((ne= get_name_entry(uc->bit_tbl(), name, uc)) == NULL) - { - *bitaddr= strtol(name, &p, 0); - if ((p && *p) || - (*bitaddr > 0xff)) - return(DD_FALSE); - } + { + *bitaddr= strtol(name, &p, 0); + if ((p && *p) || + (*bitaddr > 0xff)) + return(DD_FALSE); + } else - *bitaddr= ne->addr; + *bitaddr= ne->addr; if (*bitaddr > 0x7f) - *celladdr= *bitaddr & 0xf8; + *celladdr= *bitaddr & 0xf8; else - *celladdr= (*bitaddr >> 3) + 0x20; + *celladdr= (*bitaddr >> 3) + 0x20; } // *bitaddr, *celladdr now OK *cell= uc->get_bit//FIXME @@ -200,7 +202,7 @@ interpret_bitname(char *name, class cl_uc *uc, return(DD_TRUE); i= 0; while (uc->bit_tbl()[i].name && - (uc->bit_tbl()[i].addr != *bitaddr)) + (uc->bit_tbl()[i].addr != *bitaddr)) i++; if (uc->bit_tbl()[i].name) { @@ -210,7 +212,7 @@ interpret_bitname(char *name, class cl_uc *uc, } i= 0; while (uc->sfr_tbl()[i].name && - (uc->sfr_tbl()[i].addr != *celladdr)) + (uc->sfr_tbl()[i].addr != *celladdr)) i++; if (uc->sfr_tbl()[i].name) sym= strdup(uc->sfr_tbl()[i].name); @@ -247,43 +249,43 @@ proc_escape(char *string, int *len) char *spec_c; if (*s == '\\' && - *(s+1)) - { - s++; - if (*s == '0') - { - if (!isdigit(*(s+1))) - { - *p++= '\0'; - s++; - } - else - { - char *octal, *chk, data; - int i, j; - i= strspn(s, "01234567"); - octal= (char *)malloc(i+1); - j= 0; - while (*s && - (j < i)) - octal[j++]= *s++; - octal[j]= '\0'; - data= strtol(octal, &chk, 8); - if (!chk || !(*chk)) - *p++= data; - } - } - else - if ((spec_c= strchr(spec_chars, *s)) != NULL) - { - *p++= spec[spec_c-spec_chars]; - s++; - } - else - *p++= *s++; - } + *(s+1)) + { + s++; + if (*s == '0') + { + if (!isdigit(*(s+1))) + { + *p++= '\0'; + s++; + } + else + { + char *octal, *chk, data; + int i, j; + i= strspn(s, "01234567"); + octal= (char *)malloc(i+1); + j= 0; + while (*s && + (j < i)) + octal[j++]= *s++; + octal[j]= '\0'; + data= strtol(octal, &chk, 8); + if (!chk || !(*chk)) + *p++= data; + } + } + else + if ((spec_c= strchr(spec_chars, *s)) != NULL) + { + *p++= spec[spec_c-spec_chars]; + s++; + } + else + *p++= *s++; + } else - *p++= *s++; + *p++= *s++; } *p= '\0'; *len= p-str;