192 buffer->pos += len; |
212 buffer->pos += len; |
193 |
213 |
194 return len / size; |
214 return len / size; |
195 } |
215 } |
196 |
216 |
197 int cxBufferPut( |
|
198 CxBuffer *buffer, |
|
199 int c |
|
200 ) { |
|
201 if (buffer->pos >= buffer->capacity) { |
|
202 if ((buffer->flags & CX_BUFFER_AUTO_EXTEND) == CX_BUFFER_AUTO_EXTEND) { |
|
203 if (cxBufferMinimumCapacity(buffer, buffer->capacity + 1)) { |
|
204 return EOF; |
|
205 } |
|
206 } else { |
|
207 return EOF; |
|
208 } |
|
209 } |
|
210 |
|
211 c &= 0xFF; |
|
212 buffer->bytes[buffer->pos] = (unsigned char) c; |
|
213 buffer->pos++; |
|
214 if (buffer->pos > buffer->size) { |
|
215 buffer->size = buffer->pos; |
|
216 } |
|
217 return c; |
|
218 } |
|
219 |
|
220 int cxBufferGet(CxBuffer *buffer) { |
217 int cxBufferGet(CxBuffer *buffer) { |
221 if (cxBufferEof(buffer)) { |
218 if (cxBufferEof(buffer)) { |
222 return EOF; |
219 return EOF; |
223 } else { |
220 } else { |
224 int c = buffer->bytes[buffer->pos]; |
221 int c = buffer->bytes[buffer->pos]; |
225 buffer->pos++; |
222 buffer->pos++; |
226 return c; |
223 return c; |
227 } |
224 } |
228 } |
|
229 |
|
230 size_t cxBufferPutString( |
|
231 CxBuffer *buffer, |
|
232 const char *str |
|
233 ) { |
|
234 return cxBufferWrite(str, 1, strlen(str), buffer); |
|
235 } |
225 } |
236 |
226 |
237 int cxBufferShiftLeft( |
227 int cxBufferShiftLeft( |
238 CxBuffer *buffer, |
228 CxBuffer *buffer, |
239 size_t shift |
229 size_t shift |