write n bytes from ptr into effects-buffer
| 91 | |
| 92 | // write n bytes from ptr into effects-buffer |
| 93 | static void EffectsBuffer_WriteBytes |
| 94 | ( |
| 95 | const void *ptr, // data to write |
| 96 | size_t n, // number of bytes to write |
| 97 | EffectsBuffer *eb // effects-buffer |
| 98 | ) { |
| 99 | ASSERT(n > 0); |
| 100 | ASSERT(eb != NULL); |
| 101 | ASSERT(ptr != NULL); |
| 102 | |
| 103 | while(n > 0) { |
| 104 | struct EffectsBufferBlock *b = eb->current; |
| 105 | size_t written = EffectsBufferBlock_WriteBytes(ptr, n, b); |
| 106 | |
| 107 | // advance ptr |
| 108 | ptr += written; |
| 109 | |
| 110 | if(written == 0) { |
| 111 | // no bytes written block is full, create a new block |
| 112 | EffectsBuffer_AddBlock(eb); |
| 113 | } |
| 114 | |
| 115 | // update remaining bytes to write |
| 116 | n -= written; |
| 117 | } |
| 118 | } |
| 119 | |
| 120 | static void EffectsBuffer_WriteString |
| 121 | ( |
no test coverage detected