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 hashkey; /* Hash key value */
|
||||
int sp; /* Current position */
|
||||
int lsp; /* Last returned position */
|
||||
char *str; /* String data */
|
||||
char pb[4]; /* Pushback data */
|
||||
int pbi;
|
||||
|
|
@ -141,7 +140,7 @@ int String_dump(DOH *so, DOH *out) {
|
|||
/* -----------------------------------------------------------------------------
|
||||
* NewString(const char *c) - Create a new string
|
||||
* ----------------------------------------------------------------------------- */
|
||||
DOH *
|
||||
DOHString *
|
||||
NewString(const DOH *so)
|
||||
{
|
||||
int l = 0, max;
|
||||
|
|
@ -154,7 +153,6 @@ NewString(const DOH *so)
|
|||
DohXInit(str);
|
||||
str->hashkey = -1;
|
||||
str->sp = 0;
|
||||
str->lsp = 0;
|
||||
str->pbi = 0;
|
||||
str->line = 1;
|
||||
str->file = 0;
|
||||
|
|
@ -172,7 +170,8 @@ NewString(const DOH *so)
|
|||
str->str[0] = 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.
|
||||
* ----------------------------------------------------------------------------- */
|
||||
|
||||
DOH *
|
||||
DOHString *
|
||||
NewStringf(const DOH *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
|
@ -190,7 +189,7 @@ NewStringf(const DOH *fmt, ...)
|
|||
r = NewString("");
|
||||
DohvPrintf(r,Char(fmt),ap);
|
||||
va_end(ap);
|
||||
return r;
|
||||
return (DOHString *) r;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
|
|
@ -206,7 +205,6 @@ CopyString(DOH *so) {
|
|||
str->objinfo = &StringType;
|
||||
str->hashkey = -1;
|
||||
str->sp = 0;
|
||||
str->lsp = 0;
|
||||
str->line = s->line;
|
||||
str->file = s->file;
|
||||
if (str->file) Incref(str->file);
|
||||
|
|
@ -217,6 +215,7 @@ CopyString(DOH *so) {
|
|||
str->maxsize= max;
|
||||
str->len = s->len;
|
||||
str->str[str->len] = 0;
|
||||
str->sp = s->len;
|
||||
return (DOH *) str;
|
||||
}
|
||||
|
||||
|
|
@ -383,7 +382,6 @@ String_clear(DOH *so)
|
|||
s->len = 0;
|
||||
*(s->str) = 0;
|
||||
s->sp = 0;
|
||||
s->lsp = 0;
|
||||
s->line = 1;
|
||||
s->pbi = 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue