Lines Matching refs:len

28 static char *salloc(int len, int *sizep);
30 static char *sfree_alloc(char *ptr, int size, int len, int *sizep);
33 static char *salloc(int len, int *sizep)
35 if (len == 0) {
40 return new char[*sizep = len*2];
48 static char *sfree_alloc(char *ptr, int oldsz, int len, int *sizep)
50 if (oldsz >= len) {
55 if (len == 0) {
60 return new char[*sizep = len*2];
83 string::string() : ptr(0), len(0), sz(0)
87 string::string(const char *p, int n) : len(n)
98 len = 0;
103 len = strlen(p);
104 ptr = salloc(len, &sz);
105 memcpy(ptr, p, len);
109 string::string(char c) : len(1)
115 string::string(const string &s) : len(s.len)
117 ptr = salloc(len, &sz);
118 if (len != 0)
119 memcpy(ptr, s.ptr, len);
129 ptr = sfree_alloc(ptr, sz, s.len, &sz);
130 len = s.len;
131 if (len != 0)
132 memcpy(ptr, s.ptr, len);
139 sfree(ptr, len);
140 len = 0;
147 len = slen;
148 memcpy(ptr, p, len);
156 len = 1;
165 len = s.len;
168 s.len = 0;
174 ptr = srealloc(ptr, sz, len, len + 1, &sz);
181 int newlen = len + n;
183 ptr = srealloc(ptr, sz, len, newlen, &sz);
184 memcpy(ptr + len, p, n);
185 len = newlen;
192 if (s.len != 0) {
193 int newlen = len + s.len;
195 ptr = srealloc(ptr, sz, len, newlen, &sz);
196 memcpy(ptr + len, s.ptr, s.len);
197 len = newlen;
205 int newlen = len + n;
207 ptr = srealloc(ptr, sz, len, newlen, &sz);
208 memcpy(ptr + len, p, n);
209 len = newlen;
216 len = n1 + n2;
217 if (len == 0) {
222 ptr = salloc(len, &sz);
235 return (s1.len <= s2.len
236 ? s1.len == 0 || memcmp(s1.ptr, s2.ptr, s1.len) <= 0
237 : s2.len != 0 && memcmp(s1.ptr, s2.ptr, s2.len) < 0);
242 return (s1.len < s2.len
243 ? s1.len == 0 || memcmp(s1.ptr, s2.ptr, s1.len) <= 0
244 : s2.len != 0 && memcmp(s1.ptr, s2.ptr, s2.len) < 0);
249 return (s1.len >= s2.len
250 ? s2.len == 0 || memcmp(s1.ptr, s2.ptr, s2.len) >= 0
251 : s1.len != 0 && memcmp(s1.ptr, s2.ptr, s1.len) > 0);
256 return (s1.len > s2.len
257 ? s2.len == 0 || memcmp(s1.ptr, s2.ptr, s2.len) >= 0
258 : s1.len != 0 && memcmp(s1.ptr, s2.ptr, s1.len) > 0);
265 ptr = srealloc(ptr, sz, len, i, &sz);
266 len = i;
271 len = 0;
276 char *p = ptr ? (char *)memchr(ptr, c, len) : NULL;
285 int n = len;
302 int l = len - 1;
311 if (len - 1 != l) {
313 len = l + 1;
314 char *tmp = new char[len];
315 memcpy(tmp, p, len);
320 len = 0;
331 int len = s.length();
333 for (int i = 0; i < len; i++)