Swig_offset_string moved to misc.c
This commit is contained in:
parent
b0afa8a95c
commit
7103a06849
5 changed files with 52 additions and 47 deletions
|
|
@ -18,8 +18,6 @@
|
|||
|
||||
/* Hash type used for upcalls from C/C++ */
|
||||
typedef DOH UpcallData;
|
||||
// insert N tabs before each new line in s
|
||||
void Swig_offset_string(String *s, int N);
|
||||
|
||||
class CSHARP:public Language {
|
||||
static const char *usage;
|
||||
|
|
@ -2004,7 +2002,7 @@ public:
|
|||
} else {
|
||||
for (int i = 0; i < nesting_depth; ++i)
|
||||
Append(old_proxy_class_code, " ");
|
||||
Append(old_proxy_class_code, "}\n");
|
||||
Append(old_proxy_class_code, "}\n\n");
|
||||
--nesting_depth;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -18,8 +18,6 @@
|
|||
|
||||
/* Hash type used for upcalls from C/C++ */
|
||||
typedef DOH UpcallData;
|
||||
// insert N tabs before each new line in s
|
||||
void Swig_offset_string(String *s, int N);
|
||||
|
||||
class JAVA:public Language {
|
||||
static const char *usage;
|
||||
|
|
@ -2068,7 +2066,7 @@ public:
|
|||
} else {
|
||||
for (int i = 0; i < nesting_depth; ++i)
|
||||
Append(old_proxy_class_code, " ");
|
||||
Append(old_proxy_class_code, "}\n");
|
||||
Append(old_proxy_class_code, "}\n\n");
|
||||
--nesting_depth;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3632,44 +3632,3 @@ Hash *Language::getClassHash() const {
|
|||
return classhash;
|
||||
}
|
||||
|
||||
// insert N tabs before each new line in s
|
||||
void Swig_offset_string(String *s, int N)
|
||||
{
|
||||
// count a number of lines in s
|
||||
int lines = 1;
|
||||
int L = Len(s);
|
||||
char *start = strchr(Char(s), '\n');
|
||||
while (start) {
|
||||
++lines;
|
||||
start = strchr(start + 1, '\n');
|
||||
}
|
||||
// do not count pending new line
|
||||
if ((Char(s))[L-1] == '\n')
|
||||
--lines;
|
||||
// allocate a temporary storage for a padded string
|
||||
char *res = (char*)malloc(L + lines * N * 2 + 1);
|
||||
res[L + lines * N * 2] = 0;
|
||||
|
||||
// copy lines to res, prepending tabs to each line
|
||||
char *p = res; // output pointer
|
||||
start = Char(s); // start of a current line
|
||||
char *end = strchr(start, '\n'); // end of a current line
|
||||
while (end) {
|
||||
memset(p, ' ', N*2);
|
||||
p += N*2;
|
||||
memcpy(p, start, end - start + 1);
|
||||
p += end - start + 1;
|
||||
start = end + 1;
|
||||
end = strchr(start, '\n');
|
||||
}
|
||||
// process the last line
|
||||
if (*start) {
|
||||
memset(p, ' ', N*2);
|
||||
p += N*2;
|
||||
strcpy(p, start);
|
||||
}
|
||||
// replace 's' contents with 'res'
|
||||
Clear(s);
|
||||
Append(s, res);
|
||||
free(res);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue