src/string.c

changeset 1674
8b0f162ac88e
parent 1672
94360453bce4
child 1676
f889ffd07c86
equal deleted inserted replaced
1673:0c338b80e7dd 1674:8b0f162ac88e
152 str.ptr[str.length] = '\0'; 152 str.ptr[str.length] = '\0';
153 153
154 return str; 154 return str;
155 } 155 }
156 156
157 cxstring cx_strsubs( 157 cxstring cx_strsubs_(
158 cxstring string, 158 cxstring string,
159 size_t start 159 size_t start
160 ) { 160 ) {
161 return cx_strsubsl(string, start, string.length - start); 161 return cx_strsubsl_(string, start, string.length);
162 } 162 }
163 163
164 cxmutstr cx_strsubs_m( 164 cxstring cx_strsubsl_(
165 cxmutstr string,
166 size_t start
167 ) {
168 return cx_strsubsl_m(string, start, string.length - start);
169 }
170
171 cxstring cx_strsubsl(
172 cxstring string, 165 cxstring string,
173 size_t start, 166 size_t start,
174 size_t length 167 size_t length
175 ) { 168 ) {
176 if (start > string.length) { 169 if (start > string.length) {
181 if (length > rem_len) { 174 if (length > rem_len) {
182 length = rem_len; 175 length = rem_len;
183 } 176 }
184 177
185 return (cxstring) {string.ptr + start, length}; 178 return (cxstring) {string.ptr + start, length};
186 }
187
188 cxmutstr cx_strsubsl_m(
189 cxmutstr string,
190 size_t start,
191 size_t length
192 ) {
193 cxstring result = cx_strsubsl(cx_strcast(string), start, length);
194 return (cxmutstr) {(char *) result.ptr, result.length};
195 } 179 }
196 180
197 cxstring cx_strchr( 181 cxstring cx_strchr(
198 cxstring string, 182 cxstring string,
199 int chr 183 int chr

mercurial