Portability fixes
cmd-line-utils/libedit/readline.c: Portability fix (For IRIX) include/my_global.h: Portability fix (For Tru64) include/my_xml.h: Portability fix (True64) ('leave' is already defined) strings/xml.c: Portability fix (True64)
This commit is contained in:
parent
21a32d758e
commit
2ef62c12aa
@ -1239,7 +1239,7 @@ filename_completion_function(const char *text, int state)
|
||||
/* otherwise, get first entry where first */
|
||||
/* filename_len characters are equal */
|
||||
if (entry->d_name[0] == filename[0]
|
||||
#if defined(__SVR4) || defined(__linux__)
|
||||
#ifdef HAVE_DIRENT_H
|
||||
&& strlen(entry->d_name) >= filename_len
|
||||
#else
|
||||
&& entry->d_namlen >= filename_len
|
||||
@ -1252,7 +1252,7 @@ filename_completion_function(const char *text, int state)
|
||||
if (entry) { /* match found */
|
||||
|
||||
struct stat stbuf;
|
||||
#if defined(__SVR4) || defined(__linux__)
|
||||
#ifdef HAVE_DIRENT_H
|
||||
len = strlen(entry->d_name) +
|
||||
#else
|
||||
len = entry->d_namlen +
|
||||
|
@ -110,6 +110,7 @@
|
||||
#define __STDC_EXT__ 1 /* To get large file support on hpux */
|
||||
#endif
|
||||
|
||||
#ifdef HPUX11
|
||||
/*
|
||||
Fix warnings on HPUX11
|
||||
There is something really strange with HPUX11 include files as you get
|
||||
@ -121,7 +122,6 @@
|
||||
#endif
|
||||
|
||||
/* Fix type of socklen as this is depending on the above define */
|
||||
#ifdef HPUX11
|
||||
#undef SOCKET_SIZE_TYPE
|
||||
#ifdef _XOPEN_SOURCE_EXTENDED
|
||||
#define SOCKET_SIZE_TYPE socklen_t
|
||||
|
@ -37,20 +37,26 @@ typedef struct xml_stack_st
|
||||
void *user_data;
|
||||
int (*enter)(struct xml_stack_st *st,const char *val, uint len);
|
||||
int (*value)(struct xml_stack_st *st,const char *val, uint len);
|
||||
int (*leave)(struct xml_stack_st *st,const char *val, uint len);
|
||||
int (*leave_xml)(struct xml_stack_st *st,const char *val, uint len);
|
||||
} MY_XML_PARSER;
|
||||
|
||||
void my_xml_parser_create(MY_XML_PARSER *st);
|
||||
void my_xml_parser_free(MY_XML_PARSER *st);
|
||||
int my_xml_parse(MY_XML_PARSER *st,const char *str, uint len);
|
||||
void my_xml_parser_create(MY_XML_PARSER *st);
|
||||
void my_xml_parser_free(MY_XML_PARSER *st);
|
||||
int my_xml_parse(MY_XML_PARSER *st,const char *str, uint len);
|
||||
|
||||
void my_xml_set_value_handler(MY_XML_PARSER *st, int (*)(MY_XML_PARSER *, const char *, uint len));
|
||||
void my_xml_set_enter_handler(MY_XML_PARSER *st, int (*)(MY_XML_PARSER *, const char *, uint len));
|
||||
void my_xml_set_leave_handler(MY_XML_PARSER *st, int (*)(MY_XML_PARSER *, const char *, uint len));
|
||||
void my_xml_set_user_data(MY_XML_PARSER *st, void *);
|
||||
void my_xml_set_value_handler(MY_XML_PARSER *st, int (*)(MY_XML_PARSER *,
|
||||
const char *,
|
||||
uint len));
|
||||
void my_xml_set_enter_handler(MY_XML_PARSER *st, int (*)(MY_XML_PARSER *,
|
||||
const char *,
|
||||
uint len));
|
||||
void my_xml_set_leave_handler(MY_XML_PARSER *st, int (*)(MY_XML_PARSER *,
|
||||
const char *,
|
||||
uint len));
|
||||
void my_xml_set_user_data(MY_XML_PARSER *st, void *);
|
||||
|
||||
uint my_xml_error_pos(MY_XML_PARSER *st);
|
||||
uint my_xml_error_lineno(MY_XML_PARSER *st);
|
||||
uint my_xml_error_pos(MY_XML_PARSER *st);
|
||||
uint my_xml_error_lineno(MY_XML_PARSER *st);
|
||||
|
||||
const char *my_xml_error_string(MY_XML_PARSER *st);
|
||||
|
||||
|
@ -37,6 +37,7 @@ typedef struct xml_attr_st
|
||||
const char *end;
|
||||
} MY_XML_ATTR;
|
||||
|
||||
|
||||
static const char *lex2str(int lex)
|
||||
{
|
||||
switch(lex)
|
||||
@ -97,7 +98,8 @@ static int my_xml_scan(MY_XML_PARSER *p,MY_XML_ATTR *a)
|
||||
else if ( (p->cur[0]=='"') || (p->cur[0]=='\'') )
|
||||
{
|
||||
p->cur++;
|
||||
for( ; ( p->cur < p->end ) && (p->cur[0]!=a->beg[0]); p->cur++);
|
||||
for( ; ( p->cur < p->end ) && (p->cur[0] != a->beg[0]); p->cur++)
|
||||
{}
|
||||
a->end=p->cur;
|
||||
if (a->beg[0]==p->cur[0])p->cur++;
|
||||
a->beg++;
|
||||
@ -106,7 +108,10 @@ static int my_xml_scan(MY_XML_PARSER *p,MY_XML_ATTR *a)
|
||||
}
|
||||
else
|
||||
{
|
||||
for( ; (p->cur < p->end) && !strchr("?'\"=/<> \t\r\n", p->cur[0]); p->cur++);
|
||||
for(;
|
||||
(p->cur < p->end) && !strchr("?'\"=/<> \t\r\n", p->cur[0]);
|
||||
p->cur++)
|
||||
{}
|
||||
a->end=p->cur;
|
||||
my_xml_norm_text(a);
|
||||
lex=MY_XML_IDENT;
|
||||
@ -145,6 +150,7 @@ static int my_xml_enter(MY_XML_PARSER *st, const char *str, uint len)
|
||||
return st->enter ? st->enter(st,st->attr,st->attrend-st->attr) : MY_XML_OK;
|
||||
}
|
||||
|
||||
|
||||
static void mstr(char *s,const char *src,uint l1, uint l2)
|
||||
{
|
||||
l1 = l1<l2 ? l1 : l2;
|
||||
@ -152,6 +158,7 @@ static void mstr(char *s,const char *src,uint l1, uint l2)
|
||||
s[l1]='\0';
|
||||
}
|
||||
|
||||
|
||||
static int my_xml_leave(MY_XML_PARSER *p, const char *str, uint slen)
|
||||
{
|
||||
char *e;
|
||||
@ -172,7 +179,7 @@ static int my_xml_leave(MY_XML_PARSER *p, const char *str, uint slen)
|
||||
return MY_XML_ERROR;
|
||||
}
|
||||
|
||||
rc = p->leave ? p->leave(p,p->attr,p->attrend-p->attr) : MY_XML_OK;
|
||||
rc = p->leave_xml ? p->leave_xml(p,p->attr,p->attrend-p->attr) : MY_XML_OK;
|
||||
|
||||
*e='\0';
|
||||
p->attrend=e;
|
||||
@ -237,7 +244,8 @@ int my_xml_parse(MY_XML_PARSER *p,const char *str, uint len)
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(p->errstr,"3: %s unexpected (ident or '/' wanted)",lex2str(lex));
|
||||
sprintf(p->errstr,"3: %s unexpected (ident or '/' wanted)",
|
||||
lex2str(lex));
|
||||
return MY_XML_ERROR;
|
||||
}
|
||||
|
||||
@ -256,7 +264,8 @@ int my_xml_parse(MY_XML_PARSER *p,const char *str, uint len)
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(p->errstr,"4: %s unexpected (ident or string wanted)",lex2str(lex));
|
||||
sprintf(p->errstr,"4: %s unexpected (ident or string wanted)",
|
||||
lex2str(lex));
|
||||
return MY_XML_ERROR;
|
||||
}
|
||||
}
|
||||
@ -318,35 +327,47 @@ gt:
|
||||
return MY_XML_OK;
|
||||
}
|
||||
|
||||
|
||||
void my_xml_parser_create(MY_XML_PARSER *p)
|
||||
{
|
||||
bzero((void*)p,sizeof(p[0]));
|
||||
}
|
||||
|
||||
|
||||
void my_xml_parser_free(MY_XML_PARSER *p __attribute__((unused)))
|
||||
{
|
||||
}
|
||||
|
||||
void my_xml_set_value_handler(MY_XML_PARSER *p, int (*action)(MY_XML_PARSER *p, const char *s, uint l))
|
||||
|
||||
void my_xml_set_value_handler(MY_XML_PARSER *p,
|
||||
int (*action)(MY_XML_PARSER *p, const char *s,
|
||||
uint l))
|
||||
{
|
||||
p->value=action;
|
||||
}
|
||||
|
||||
void my_xml_set_enter_handler(MY_XML_PARSER *p, int (*action)(MY_XML_PARSER *p, const char *s, uint l))
|
||||
void my_xml_set_enter_handler(MY_XML_PARSER *p,
|
||||
int (*action)(MY_XML_PARSER *p, const char *s,
|
||||
uint l))
|
||||
{
|
||||
p->enter=action;
|
||||
}
|
||||
|
||||
void my_xml_set_leave_handler(MY_XML_PARSER *p, int (*action)(MY_XML_PARSER *p, const char *s, uint l))
|
||||
|
||||
void my_xml_set_leave_handler(MY_XML_PARSER *p,
|
||||
int (*action)(MY_XML_PARSER *p, const char *s,
|
||||
uint l))
|
||||
{
|
||||
p->leave=action;
|
||||
p->leave_xml=action;
|
||||
}
|
||||
|
||||
|
||||
void my_xml_set_user_data(MY_XML_PARSER *p, void *user_data)
|
||||
{
|
||||
p->user_data=user_data;
|
||||
}
|
||||
|
||||
|
||||
const char *my_xml_error_string(MY_XML_PARSER *p)
|
||||
{
|
||||
return p->errstr;
|
||||
@ -358,8 +379,10 @@ uint my_xml_error_pos(MY_XML_PARSER *p)
|
||||
const char *beg=p->beg;
|
||||
const char *s;
|
||||
for ( s=p->beg ; s<p->cur; s++)
|
||||
{
|
||||
if (s[0]=='\n')
|
||||
beg=s;
|
||||
}
|
||||
return p->cur-beg;
|
||||
}
|
||||
|
||||
@ -368,7 +391,9 @@ uint my_xml_error_lineno(MY_XML_PARSER *p)
|
||||
uint res=0;
|
||||
const char *s;
|
||||
for ( s=p->beg ; s<p->cur; s++)
|
||||
{
|
||||
if (s[0]=='\n')
|
||||
res++;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user