A few minor tweaks to file behavior. Strings should use a little less memory too.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@418 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
83746ec43b
commit
e5b51a27b5
1 changed files with 6 additions and 8 deletions
|
|
@ -24,7 +24,6 @@ typedef struct String {
|
||||||
int len; /* Current length */
|
int len; /* Current length */
|
||||||
int hashkey; /* Hash key value */
|
int hashkey; /* Hash key value */
|
||||||
int sp; /* Current position */
|
int sp; /* Current position */
|
||||||
int lsp; /* Last returned position */
|
|
||||||
char *str; /* String data */
|
char *str; /* String data */
|
||||||
char pb[4]; /* Pushback data */
|
char pb[4]; /* Pushback data */
|
||||||
int pbi;
|
int pbi;
|
||||||
|
|
@ -141,7 +140,7 @@ int String_dump(DOH *so, DOH *out) {
|
||||||
/* -----------------------------------------------------------------------------
|
/* -----------------------------------------------------------------------------
|
||||||
* NewString(const char *c) - Create a new string
|
* NewString(const char *c) - Create a new string
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
DOH *
|
DOHString *
|
||||||
NewString(const DOH *so)
|
NewString(const DOH *so)
|
||||||
{
|
{
|
||||||
int l = 0, max;
|
int l = 0, max;
|
||||||
|
|
@ -154,7 +153,6 @@ NewString(const DOH *so)
|
||||||
DohXInit(str);
|
DohXInit(str);
|
||||||
str->hashkey = -1;
|
str->hashkey = -1;
|
||||||
str->sp = 0;
|
str->sp = 0;
|
||||||
str->lsp = 0;
|
|
||||||
str->pbi = 0;
|
str->pbi = 0;
|
||||||
str->line = 1;
|
str->line = 1;
|
||||||
str->file = 0;
|
str->file = 0;
|
||||||
|
|
@ -172,7 +170,8 @@ NewString(const DOH *so)
|
||||||
str->str[0] = 0;
|
str->str[0] = 0;
|
||||||
str->len = 0;
|
str->len = 0;
|
||||||
}
|
}
|
||||||
return (DOH *) str;
|
str->sp = str->len;
|
||||||
|
return (DOHString *) str;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------------
|
/* -----------------------------------------------------------------------------
|
||||||
|
|
@ -181,7 +180,7 @@ NewString(const DOH *so)
|
||||||
* Create a new string from a list of objects.
|
* Create a new string from a list of objects.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
DOH *
|
DOHString *
|
||||||
NewStringf(const DOH *fmt, ...)
|
NewStringf(const DOH *fmt, ...)
|
||||||
{
|
{
|
||||||
va_list ap;
|
va_list ap;
|
||||||
|
|
@ -190,7 +189,7 @@ NewStringf(const DOH *fmt, ...)
|
||||||
r = NewString("");
|
r = NewString("");
|
||||||
DohvPrintf(r,Char(fmt),ap);
|
DohvPrintf(r,Char(fmt),ap);
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
return r;
|
return (DOHString *) r;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------------
|
/* -----------------------------------------------------------------------------
|
||||||
|
|
@ -206,7 +205,6 @@ CopyString(DOH *so) {
|
||||||
str->objinfo = &StringType;
|
str->objinfo = &StringType;
|
||||||
str->hashkey = -1;
|
str->hashkey = -1;
|
||||||
str->sp = 0;
|
str->sp = 0;
|
||||||
str->lsp = 0;
|
|
||||||
str->line = s->line;
|
str->line = s->line;
|
||||||
str->file = s->file;
|
str->file = s->file;
|
||||||
if (str->file) Incref(str->file);
|
if (str->file) Incref(str->file);
|
||||||
|
|
@ -217,6 +215,7 @@ CopyString(DOH *so) {
|
||||||
str->maxsize= max;
|
str->maxsize= max;
|
||||||
str->len = s->len;
|
str->len = s->len;
|
||||||
str->str[str->len] = 0;
|
str->str[str->len] = 0;
|
||||||
|
str->sp = s->len;
|
||||||
return (DOH *) str;
|
return (DOH *) str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -383,7 +382,6 @@ String_clear(DOH *so)
|
||||||
s->len = 0;
|
s->len = 0;
|
||||||
*(s->str) = 0;
|
*(s->str) = 0;
|
||||||
s->sp = 0;
|
s->sp = 0;
|
||||||
s->lsp = 0;
|
|
||||||
s->line = 1;
|
s->line = 1;
|
||||||
s->pbi = 0;
|
s->pbi = 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue