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:
Dave Beazley 2000-04-13 03:15:34 +00:00
commit e5b51a27b5

View file

@ -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;
} }