1 /* $Id: substr.cc 860 2008-04-09 22:57:45Z nuno-lopes $ */
9 char *strndup(const char *str
, size_t len
)
11 char * ret
= (char*)malloc(len
+ 1);
13 memcpy(ret
, str
, len
);
23 void SubStr::out(std::ostream
& o
) const
28 bool operator==(const SubStr
&s1
, const SubStr
&s2
)
30 return (bool) (s1
.len
== s2
.len
&& memcmp(s1
.str
, s2
.str
, s1
.len
) == 0);
33 Str::Str(const SubStr
& s
)
34 : SubStr(strndup(s
.str
, s
.len
), s
.len
)
40 : SubStr(s
.str
, s
.len
)
46 Str::Str(const char *s
)
47 : SubStr(strdup(s
), strlen(s
))
53 : SubStr((char*) NULL
, 0)
68 } // end namespace re2c