beautify/format source code with gnu indent
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9505 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
5364d135c7
commit
aa04c4c057
72 changed files with 27038 additions and 28016 deletions
|
|
@ -22,12 +22,11 @@ char cvsroot_misc_c[] = "$Header$";
|
|||
* Duplicate a NULL-terminate string given as a char *.
|
||||
* ----------------------------------------------------------------------------- */
|
||||
|
||||
char *
|
||||
Swig_copy_string(const char *s) {
|
||||
char *Swig_copy_string(const char *s) {
|
||||
char *c = 0;
|
||||
if (s) {
|
||||
c = (char *) malloc(strlen(s)+1);
|
||||
strcpy(c,s);
|
||||
c = (char *) malloc(strlen(s) + 1);
|
||||
strcpy(c, s);
|
||||
}
|
||||
return c;
|
||||
}
|
||||
|
|
@ -38,10 +37,8 @@ Swig_copy_string(const char *s) {
|
|||
* Emits the SWIG identifying banner.
|
||||
* ----------------------------------------------------------------------------- */
|
||||
|
||||
void
|
||||
Swig_banner(File *f) {
|
||||
Printf(f,
|
||||
"/* ----------------------------------------------------------------------------\n\
|
||||
void Swig_banner(File *f) {
|
||||
Printf(f, "/* ----------------------------------------------------------------------------\n\
|
||||
* This file was automatically generated by SWIG (http://www.swig.org).\n\
|
||||
* Version %s\n\
|
||||
* \n\
|
||||
|
|
@ -50,8 +47,7 @@ Swig_banner(File *f) {
|
|||
* changes to this file unless you know what you are doing--modify the SWIG \n\
|
||||
* interface file instead. \n", PACKAGE_VERSION);
|
||||
/* String too long for ISO compliance */
|
||||
Printf(f,
|
||||
" * ----------------------------------------------------------------------------- */\n\n");
|
||||
Printf(f, " * ----------------------------------------------------------------------------- */\n\n");
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -65,27 +61,28 @@ String *Swig_string_escape(String *s) {
|
|||
String *ns;
|
||||
int c;
|
||||
ns = NewStringEmpty();
|
||||
|
||||
|
||||
while ((c = Getc(s)) != EOF) {
|
||||
if (c == '\n') {
|
||||
Printf(ns,"\\n");
|
||||
Printf(ns, "\\n");
|
||||
} else if (c == '\r') {
|
||||
Printf(ns,"\\r");
|
||||
Printf(ns, "\\r");
|
||||
} else if (c == '\t') {
|
||||
Printf(ns,"\\t");
|
||||
Printf(ns, "\\t");
|
||||
} else if (c == '\\') {
|
||||
Printf(ns,"\\\\");
|
||||
Printf(ns, "\\\\");
|
||||
} else if (c == '\'') {
|
||||
Printf(ns,"\\'");
|
||||
Printf(ns, "\\'");
|
||||
} else if (c == '\"') {
|
||||
Printf(ns,"\\\"");
|
||||
Printf(ns, "\\\"");
|
||||
} else if (c == ' ') {
|
||||
Putc(c,ns);
|
||||
Putc(c, ns);
|
||||
} else if (!isgraph(c)) {
|
||||
if (c < 0) c += UCHAR_MAX +1;
|
||||
Printf(ns,"\\%o", c);
|
||||
if (c < 0)
|
||||
c += UCHAR_MAX + 1;
|
||||
Printf(ns, "\\%o", c);
|
||||
} else {
|
||||
Putc(c,ns);
|
||||
Putc(c, ns);
|
||||
}
|
||||
}
|
||||
return ns;
|
||||
|
|
@ -103,9 +100,9 @@ String *Swig_string_upper(String *s) {
|
|||
int c;
|
||||
ns = NewStringEmpty();
|
||||
|
||||
Seek(s,0,SEEK_SET);
|
||||
Seek(s, 0, SEEK_SET);
|
||||
while ((c = Getc(s)) != EOF) {
|
||||
Putc(toupper(c),ns);
|
||||
Putc(toupper(c), ns);
|
||||
}
|
||||
return ns;
|
||||
}
|
||||
|
|
@ -121,9 +118,9 @@ String *Swig_string_lower(String *s) {
|
|||
int c;
|
||||
ns = NewStringEmpty();
|
||||
|
||||
Seek(s,0,SEEK_SET);
|
||||
Seek(s, 0, SEEK_SET);
|
||||
while ((c = Getc(s)) != EOF) {
|
||||
Putc(tolower(c),ns);
|
||||
Putc(tolower(c), ns);
|
||||
}
|
||||
return ns;
|
||||
}
|
||||
|
|
@ -142,9 +139,9 @@ String *Swig_string_title(String *s) {
|
|||
int c;
|
||||
ns = NewStringEmpty();
|
||||
|
||||
Seek(s,0,SEEK_SET);
|
||||
Seek(s, 0, SEEK_SET);
|
||||
while ((c = Getc(s)) != EOF) {
|
||||
Putc(first ? toupper(c) : tolower(c),ns);
|
||||
Putc(first ? toupper(c) : tolower(c), ns);
|
||||
first = 0;
|
||||
}
|
||||
return ns;
|
||||
|
|
@ -166,9 +163,9 @@ String *Swig_string_ccase(String *s) {
|
|||
int c;
|
||||
ns = NewStringEmpty();
|
||||
|
||||
Seek(s,0,SEEK_SET);
|
||||
Seek(s, 0, SEEK_SET);
|
||||
while ((c = Getc(s)) != EOF) {
|
||||
if (c == '_') {
|
||||
if (c == '_') {
|
||||
first = 1;
|
||||
continue;
|
||||
}
|
||||
|
|
@ -196,7 +193,7 @@ String *Swig_string_lccase(String *s) {
|
|||
int c;
|
||||
ns = NewStringEmpty();
|
||||
|
||||
Seek(s,0,SEEK_SET);
|
||||
Seek(s, 0, SEEK_SET);
|
||||
while ((c = Getc(s)) != EOF) {
|
||||
if (c == '_') {
|
||||
after_underscore = 1;
|
||||
|
|
@ -212,6 +209,7 @@ String *Swig_string_lccase(String *s) {
|
|||
}
|
||||
return ns;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Swig_string_ucase()
|
||||
*
|
||||
|
|
@ -224,31 +222,31 @@ String *Swig_string_ucase(String *s) {
|
|||
String *ns;
|
||||
int c;
|
||||
int lastC = 0;
|
||||
int underscore = 0;
|
||||
int underscore = 0;
|
||||
ns = NewStringEmpty();
|
||||
|
||||
/* We insert a underscore when:
|
||||
1. Lower case char followed by upper case char
|
||||
getFoo > get_foo; getFOo > get_foo; GETFOO > getfoo
|
||||
2. Number proceded by char
|
||||
get2D > get_2d; get22D > get_22d; GET2D > get_2d */
|
||||
1. Lower case char followed by upper case char
|
||||
getFoo > get_foo; getFOo > get_foo; GETFOO > getfoo
|
||||
2. Number proceded by char
|
||||
get2D > get_2d; get22D > get_22d; GET2D > get_2d */
|
||||
|
||||
Seek(s,0,SEEK_SET);
|
||||
Seek(s, 0, SEEK_SET);
|
||||
|
||||
while ((c = Getc(s)) != EOF) {
|
||||
if (isdigit(c) && isalpha(lastC))
|
||||
underscore = 1;
|
||||
else if (isupper(c) && isalpha(lastC) && !isupper(lastC))
|
||||
underscore = 1;
|
||||
|
||||
|
||||
lastC = c;
|
||||
|
||||
if (underscore) {
|
||||
Putc('_',ns);
|
||||
Putc('_', ns);
|
||||
underscore = 0;
|
||||
}
|
||||
}
|
||||
|
||||
Putc(tolower(c),ns);
|
||||
Putc(tolower(c), ns);
|
||||
}
|
||||
return ns;
|
||||
}
|
||||
|
|
@ -268,7 +266,7 @@ String *Swig_string_first_upper(String *s) {
|
|||
String *ns = NewStringEmpty();
|
||||
char *cs = Char(s);
|
||||
if (cs && cs[0] != 0) {
|
||||
Putc(toupper(cs[0]),ns);
|
||||
Putc(toupper(cs[0]), ns);
|
||||
Append(ns, cs + 1);
|
||||
}
|
||||
return ns;
|
||||
|
|
@ -289,7 +287,7 @@ String *Swig_string_first_lower(String *s) {
|
|||
String *ns = NewStringEmpty();
|
||||
char *cs = Char(s);
|
||||
if (cs && cs[0] != 0) {
|
||||
Putc(tolower(cs[0]),ns);
|
||||
Putc(tolower(cs[0]), ns);
|
||||
Append(ns, cs + 1);
|
||||
}
|
||||
return ns;
|
||||
|
|
@ -327,30 +325,33 @@ String *Swig_string_typecode(String *s) {
|
|||
String *str = 0;
|
||||
tc = NewStringEmpty();
|
||||
while ((c = Getc(s)) != EOF) {
|
||||
if (c == '`') break;
|
||||
Putc(c,tc);
|
||||
if (c == '`')
|
||||
break;
|
||||
Putc(c, tc);
|
||||
}
|
||||
str = SwigType_str(tc,0);
|
||||
Append(ns,str);
|
||||
str = SwigType_str(tc, 0);
|
||||
Append(ns, str);
|
||||
Delete(str);
|
||||
} else {
|
||||
Putc(c,ns);
|
||||
Putc(c, ns);
|
||||
if (c == '\'') {
|
||||
while ((c = Getc(s)) != EOF) {
|
||||
Putc(c,ns);
|
||||
if (c == '\'') break;
|
||||
Putc(c, ns);
|
||||
if (c == '\'')
|
||||
break;
|
||||
if (c == '\\') {
|
||||
c = Getc(s);
|
||||
Putc(c,ns);
|
||||
Putc(c, ns);
|
||||
}
|
||||
}
|
||||
} else if (c == '\"') {
|
||||
while ((c = Getc(s)) != EOF) {
|
||||
Putc(c,ns);
|
||||
if (c == '\"') break;
|
||||
Putc(c, ns);
|
||||
if (c == '\"')
|
||||
break;
|
||||
if (c == '\\') {
|
||||
c = Getc(s);
|
||||
Putc(c,ns);
|
||||
Putc(c, ns);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -358,7 +359,7 @@ String *Swig_string_typecode(String *s) {
|
|||
}
|
||||
return ns;
|
||||
}
|
||||
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Swig_string_mangle()
|
||||
*
|
||||
|
|
@ -382,12 +383,13 @@ String *Swig_string_typecode(String *s) {
|
|||
* ----------------------------------------------------------------------------- */
|
||||
|
||||
String *Swig_string_mangle(const String *s) {
|
||||
#if 0
|
||||
#if 0
|
||||
/* old mangling, not suitable for using in macros */
|
||||
String *t = Copy(s);
|
||||
char *c = Char(t);
|
||||
while (*c) {
|
||||
if (!isalnum(*c)) *c = '_';
|
||||
if (!isalnum(*c))
|
||||
*c = '_';
|
||||
c++;
|
||||
}
|
||||
return t;
|
||||
|
|
@ -399,26 +401,26 @@ String *Swig_string_mangle(const String *s) {
|
|||
String *b = Copy(s);
|
||||
if (SwigType_istemplate(b)) {
|
||||
String *st = Swig_symbol_template_deftype(b, 0);
|
||||
String *sq = Swig_symbol_type_qualify(st,0);
|
||||
String *sq = Swig_symbol_type_qualify(st, 0);
|
||||
String *t = SwigType_namestr(sq);
|
||||
Delete(st);
|
||||
Delete(sq);
|
||||
Delete(b);
|
||||
b = t ;
|
||||
b = t;
|
||||
}
|
||||
pc = cb = StringChar(b);
|
||||
while (*pc) {
|
||||
char c = *pc;
|
||||
if (isalnum((int)c) || (c == '_')) {
|
||||
if (isalnum((int) c) || (c == '_')) {
|
||||
state = 1;
|
||||
if (space && (space == state)) {
|
||||
StringAppend(result,"_SS_");
|
||||
StringAppend(result, "_SS_");
|
||||
}
|
||||
space = 0;
|
||||
Printf(result,"%c",(int)c);
|
||||
|
||||
Printf(result, "%c", (int) c);
|
||||
|
||||
} else {
|
||||
if (isspace((int)c)) {
|
||||
if (isspace((int) c)) {
|
||||
space = state;
|
||||
++pc;
|
||||
continue;
|
||||
|
|
@ -426,10 +428,10 @@ String *Swig_string_mangle(const String *s) {
|
|||
state = 3;
|
||||
space = 0;
|
||||
}
|
||||
switch(c) {
|
||||
switch (c) {
|
||||
case '.':
|
||||
if ((cb != pc) && (*(pc - 1) == 'p')) {
|
||||
StringAppend(result,"_");
|
||||
StringAppend(result, "_");
|
||||
++pc;
|
||||
continue;
|
||||
} else {
|
||||
|
|
@ -438,8 +440,9 @@ String *Swig_string_mangle(const String *s) {
|
|||
break;
|
||||
case ':':
|
||||
if (*(pc + 1) == ':') {
|
||||
StringAppend(result,"_");
|
||||
++pc; ++pc;
|
||||
StringAppend(result, "_");
|
||||
++pc;
|
||||
++pc;
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
|
|
@ -503,10 +506,10 @@ String *Swig_string_mangle(const String *s) {
|
|||
default:
|
||||
break;
|
||||
}
|
||||
if (isalpha((int)c)) {
|
||||
Printf(result,"_S%c_",(int)c);
|
||||
} else{
|
||||
Printf(result,"_S%02X_",(int)c);
|
||||
if (isalpha((int) c)) {
|
||||
Printf(result, "_S%c_", (int) c);
|
||||
} else {
|
||||
Printf(result, "_S%02X_", (int) c);
|
||||
}
|
||||
}
|
||||
++pc;
|
||||
|
|
@ -528,18 +531,17 @@ String *Swig_string_emangle(String *s) {
|
|||
* In this case, "A::B". Returns NULL if there is no base.
|
||||
* ----------------------------------------------------------------------------- */
|
||||
|
||||
void
|
||||
Swig_scopename_split(String *s, String **rprefix, String **rlast) {
|
||||
void Swig_scopename_split(String *s, String **rprefix, String **rlast) {
|
||||
char *tmp = Char(s);
|
||||
char *c = tmp;
|
||||
char *cc = c;
|
||||
char *co = 0;
|
||||
if (!strstr(c,"::")) {
|
||||
if (!strstr(c, "::")) {
|
||||
*rprefix = 0;
|
||||
*rlast = Copy(s);
|
||||
}
|
||||
|
||||
if ((co = strstr(cc,"operator "))) {
|
||||
|
||||
if ((co = strstr(cc, "operator "))) {
|
||||
if (co == cc) {
|
||||
*rprefix = 0;
|
||||
*rlast = Copy(s);
|
||||
|
|
@ -551,7 +553,7 @@ Swig_scopename_split(String *s, String **rprefix, String **rlast) {
|
|||
}
|
||||
}
|
||||
while (*c) {
|
||||
if ((*c == ':') && (*(c+1) == ':')) {
|
||||
if ((*c == ':') && (*(c + 1) == ':')) {
|
||||
cc = c;
|
||||
c += 2;
|
||||
} else {
|
||||
|
|
@ -559,8 +561,10 @@ Swig_scopename_split(String *s, String **rprefix, String **rlast) {
|
|||
int level = 1;
|
||||
c++;
|
||||
while (*c && level) {
|
||||
if (*c == '<') level++;
|
||||
if (*c == '>') level--;
|
||||
if (*c == '<')
|
||||
level++;
|
||||
if (*c == '>')
|
||||
level--;
|
||||
c++;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -580,14 +584,14 @@ Swig_scopename_split(String *s, String **rprefix, String **rlast) {
|
|||
}
|
||||
|
||||
|
||||
String *
|
||||
Swig_scopename_prefix(String *s) {
|
||||
String *Swig_scopename_prefix(String *s) {
|
||||
char *tmp = Char(s);
|
||||
char *c = tmp;
|
||||
char *cc = c;
|
||||
char *co = 0;
|
||||
if (!strstr(c,"::")) return 0;
|
||||
if ((co = strstr(cc,"operator "))) {
|
||||
if (!strstr(c, "::"))
|
||||
return 0;
|
||||
if ((co = strstr(cc, "operator "))) {
|
||||
if (co == cc) {
|
||||
return 0;
|
||||
} else {
|
||||
|
|
@ -596,7 +600,7 @@ Swig_scopename_prefix(String *s) {
|
|||
}
|
||||
}
|
||||
while (*c) {
|
||||
if ((*c == ':') && (*(c+1) == ':')) {
|
||||
if ((*c == ':') && (*(c + 1) == ':')) {
|
||||
cc = c;
|
||||
c += 2;
|
||||
} else {
|
||||
|
|
@ -604,8 +608,10 @@ Swig_scopename_prefix(String *s) {
|
|||
int level = 1;
|
||||
c++;
|
||||
while (*c && level) {
|
||||
if (*c == '<') level++;
|
||||
if (*c == '>') level--;
|
||||
if (*c == '<')
|
||||
level++;
|
||||
if (*c == '>')
|
||||
level--;
|
||||
c++;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -628,21 +634,21 @@ Swig_scopename_prefix(String *s) {
|
|||
* case, "C".
|
||||
* ----------------------------------------------------------------------------- */
|
||||
|
||||
String *
|
||||
Swig_scopename_last(String *s) {
|
||||
String *Swig_scopename_last(String *s) {
|
||||
char *tmp = Char(s);
|
||||
char *c = tmp;
|
||||
char *cc = c;
|
||||
char *co = 0;
|
||||
if (!strstr(c,"::")) return NewString(s);
|
||||
if (!strstr(c, "::"))
|
||||
return NewString(s);
|
||||
|
||||
if ((co = strstr(cc,"operator "))) {
|
||||
if ((co = strstr(cc, "operator "))) {
|
||||
return NewString(co);
|
||||
}
|
||||
|
||||
|
||||
while (*c) {
|
||||
if ((*c == ':') && (*(c+1) == ':')) {
|
||||
if ((*c == ':') && (*(c + 1) == ':')) {
|
||||
cc = c;
|
||||
c += 2;
|
||||
} else {
|
||||
|
|
@ -650,8 +656,10 @@ Swig_scopename_last(String *s) {
|
|||
int level = 1;
|
||||
c++;
|
||||
while (*c && level) {
|
||||
if (*c == '<') level++;
|
||||
if (*c == '>') level--;
|
||||
if (*c == '<')
|
||||
level++;
|
||||
if (*c == '>')
|
||||
level--;
|
||||
c++;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -659,7 +667,7 @@ Swig_scopename_last(String *s) {
|
|||
}
|
||||
}
|
||||
}
|
||||
return NewString(cc+2);
|
||||
return NewString(cc + 2);
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
|
|
@ -669,30 +677,32 @@ Swig_scopename_last(String *s) {
|
|||
* In this case, "A". Returns NULL if there is no base.
|
||||
* ----------------------------------------------------------------------------- */
|
||||
|
||||
String *
|
||||
Swig_scopename_first(String *s) {
|
||||
String *Swig_scopename_first(String *s) {
|
||||
char *tmp = Char(s);
|
||||
char *c = tmp;
|
||||
char *c = tmp;
|
||||
char *co = 0;
|
||||
if (!strstr(c,"::")) return 0;
|
||||
if ((co = strstr(c,"operator "))) {
|
||||
if (!strstr(c, "::"))
|
||||
return 0;
|
||||
if ((co = strstr(c, "operator "))) {
|
||||
if (co == c) {
|
||||
return 0;
|
||||
}
|
||||
} else {
|
||||
co = c + Len(s);
|
||||
}
|
||||
|
||||
|
||||
while (*c && (c != co)) {
|
||||
if ((*c == ':') && (*(c+1) == ':')) {
|
||||
if ((*c == ':') && (*(c + 1) == ':')) {
|
||||
break;
|
||||
} else {
|
||||
if (*c == '<') {
|
||||
int level = 1;
|
||||
c++;
|
||||
while (*c && level) {
|
||||
if (*c == '<') level++;
|
||||
if (*c == '>') level--;
|
||||
if (*c == '<')
|
||||
level++;
|
||||
if (*c == '>')
|
||||
level--;
|
||||
c++;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -715,25 +725,28 @@ Swig_scopename_first(String *s) {
|
|||
* In this case, "B::C". Returns NULL if there is no suffix.
|
||||
* ----------------------------------------------------------------------------- */
|
||||
|
||||
String *
|
||||
Swig_scopename_suffix(String *s) {
|
||||
String *Swig_scopename_suffix(String *s) {
|
||||
char *tmp = Char(s);
|
||||
char *c = tmp;
|
||||
char *co = 0;
|
||||
if (!strstr(c,"::")) return 0;
|
||||
if ((co = strstr(c,"operator "))) {
|
||||
if (co == c) return 0;
|
||||
if (!strstr(c, "::"))
|
||||
return 0;
|
||||
if ((co = strstr(c, "operator "))) {
|
||||
if (co == c)
|
||||
return 0;
|
||||
}
|
||||
while (*c) {
|
||||
if ((*c == ':') && (*(c+1) == ':')) {
|
||||
if ((*c == ':') && (*(c + 1) == ':')) {
|
||||
break;
|
||||
} else {
|
||||
if (*c == '<') {
|
||||
int level = 1;
|
||||
c++;
|
||||
while (*c && level) {
|
||||
if (*c == '<') level++;
|
||||
if (*c == '>') level--;
|
||||
if (*c == '<')
|
||||
level++;
|
||||
if (*c == '>')
|
||||
level--;
|
||||
c++;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -742,11 +755,12 @@ Swig_scopename_suffix(String *s) {
|
|||
}
|
||||
}
|
||||
if (*c && (c != tmp)) {
|
||||
return NewString(c+2);
|
||||
return NewString(c + 2);
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Swig_scopename_check()
|
||||
*
|
||||
|
|
@ -756,20 +770,24 @@ Swig_scopename_suffix(String *s) {
|
|||
int Swig_scopename_check(String *s) {
|
||||
char *c = Char(s);
|
||||
char *co = 0;
|
||||
if ((co = strstr(c,"operator "))) {
|
||||
if (co == c) return 0;
|
||||
if ((co = strstr(c, "operator "))) {
|
||||
if (co == c)
|
||||
return 0;
|
||||
}
|
||||
if (!strstr(c,"::")) return 0;
|
||||
if (!strstr(c, "::"))
|
||||
return 0;
|
||||
while (*c) {
|
||||
if ((*c == ':') && (*(c+1) == ':')) {
|
||||
if ((*c == ':') && (*(c + 1) == ':')) {
|
||||
return 1;
|
||||
} else {
|
||||
if (*c == '<') {
|
||||
int level = 1;
|
||||
c++;
|
||||
while (*c && level) {
|
||||
if (*c == '<') level++;
|
||||
if (*c == '>') level--;
|
||||
if (*c == '<')
|
||||
level++;
|
||||
if (*c == '>')
|
||||
level--;
|
||||
c++;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -809,15 +827,15 @@ String *Swig_string_command(String *s) {
|
|||
#if defined(HAVE_POPEN)
|
||||
if (Len(s)) {
|
||||
char *command = Char(s);
|
||||
FILE *fp = popen(command,"r");
|
||||
FILE *fp = popen(command, "r");
|
||||
if (fp) {
|
||||
char buffer[1025];
|
||||
while(fscanf(fp,"%1024s",buffer) != EOF) {
|
||||
Append(res,buffer);
|
||||
while (fscanf(fp, "%1024s", buffer) != EOF) {
|
||||
Append(res, buffer);
|
||||
}
|
||||
pclose(fp);
|
||||
} else {
|
||||
Swig_error("SWIG",Getline(s), "Command encoder fails attempting '%s'.\n", s);
|
||||
Swig_error("SWIG", Getline(s), "Command encoder fails attempting '%s'.\n", s);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
|
@ -839,8 +857,7 @@ String *Swig_string_command(String *s) {
|
|||
#define USE_RXSPENCER
|
||||
#endif
|
||||
|
||||
const char *skip_delim(char pb, char pe, const char *ce)
|
||||
{
|
||||
const char *skip_delim(char pb, char pe, const char *ce) {
|
||||
int end = 0;
|
||||
int lb = 0;
|
||||
while (!end && *ce != '\0') {
|
||||
|
|
@ -872,45 +889,45 @@ String *Swig_string_rxspencer(String *s) {
|
|||
int retval;
|
||||
regex_t compiled;
|
||||
cb = ++cs;
|
||||
ce = skip_delim('[',']', cb);
|
||||
ce = skip_delim('[', ']', cb);
|
||||
if (ce) {
|
||||
char bregexp[512];
|
||||
strncpy(bregexp, cb, ce - cb);
|
||||
bregexp[ce - cb] = '\0';
|
||||
++ce;
|
||||
retval = regcomp(&compiled, bregexp, REG_EXTENDED);
|
||||
if(retval == 0) {
|
||||
if (retval == 0) {
|
||||
cs = ce;
|
||||
if (*cs == '[') {
|
||||
cb = ++cs;
|
||||
ce = skip_delim('[',']', cb) ;
|
||||
ce = skip_delim('[', ']', cb);
|
||||
if (ce) {
|
||||
const char *cvalue = ce + 1;
|
||||
int nsub = (int) compiled.re_nsub+1;
|
||||
regmatch_t *pmatch = (regmatch_t *)malloc(sizeof(regmatch_t)*(nsub));
|
||||
retval = regexec(&compiled,cvalue,nsub,pmatch,0);
|
||||
int nsub = (int) compiled.re_nsub + 1;
|
||||
regmatch_t *pmatch = (regmatch_t *) malloc(sizeof(regmatch_t) * (nsub));
|
||||
retval = regexec(&compiled, cvalue, nsub, pmatch, 0);
|
||||
if (retval != REG_NOMATCH) {
|
||||
char *spos = 0;
|
||||
res = NewStringWithSize(cb, ce - cb);
|
||||
spos = Strchr(res,'@');
|
||||
spos = Strchr(res, '@');
|
||||
while (spos) {
|
||||
char cd = *(++spos);
|
||||
if (isdigit(cd)) {
|
||||
char arg[8];
|
||||
size_t len;
|
||||
int i = cd - '0';
|
||||
sprintf(arg,"@%d", i);
|
||||
sprintf(arg, "@%d", i);
|
||||
if (i < nsub && (len = pmatch[i].rm_eo - pmatch[i].rm_so)) {
|
||||
char value[256];
|
||||
strncpy(value,cvalue + pmatch[i].rm_so, len);
|
||||
strncpy(value, cvalue + pmatch[i].rm_so, len);
|
||||
value[len] = 0;
|
||||
Replaceall(res,arg,value);
|
||||
Replaceall(res, arg, value);
|
||||
} else {
|
||||
Replaceall(res,arg,"");
|
||||
Replaceall(res, arg, "");
|
||||
}
|
||||
spos = Strchr(res,'@');
|
||||
spos = Strchr(res, '@');
|
||||
} else if (cd == '@') {
|
||||
spos = strchr(spos + 1,'@');
|
||||
spos = strchr(spos + 1, '@');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -922,12 +939,13 @@ String *Swig_string_rxspencer(String *s) {
|
|||
}
|
||||
}
|
||||
}
|
||||
if (!res) res = NewStringEmpty();
|
||||
if (!res)
|
||||
res = NewStringEmpty();
|
||||
return res;
|
||||
}
|
||||
#else
|
||||
String *Swig_string_rxspencer(String *s) {
|
||||
(void)s;
|
||||
(void) s;
|
||||
return NewStringEmpty();
|
||||
}
|
||||
#endif
|
||||
|
|
@ -939,8 +957,7 @@ String *Swig_string_rxspencer(String *s) {
|
|||
* Initialize the SWIG core
|
||||
* ----------------------------------------------------------------------------- */
|
||||
|
||||
void
|
||||
Swig_init() {
|
||||
void Swig_init() {
|
||||
/* Set some useful string encoding methods */
|
||||
DohEncoding("escape", Swig_string_escape);
|
||||
DohEncoding("upper", Swig_string_upper);
|
||||
|
|
@ -949,7 +966,7 @@ Swig_init() {
|
|||
DohEncoding("ctitle", Swig_string_ccase);
|
||||
DohEncoding("lctitle", Swig_string_lccase);
|
||||
DohEncoding("utitle", Swig_string_ucase);
|
||||
DohEncoding("typecode",Swig_string_typecode);
|
||||
DohEncoding("typecode", Swig_string_typecode);
|
||||
DohEncoding("mangle", Swig_string_emangle);
|
||||
DohEncoding("command", Swig_string_command);
|
||||
DohEncoding("rxspencer", Swig_string_rxspencer);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue