140 return 0; |
140 return 0; |
141 } |
141 } |
142 FILE *f = fopen(filename, "r"); |
142 FILE *f = fopen(filename, "r"); |
143 if (f == NULL) return -1; |
143 if (f == NULL) return -1; |
144 CxBuffer buffer; |
144 CxBuffer buffer; |
145 cxBufferInit(&buffer, NULL, 1024, NULL, 0); |
145 cxBufferInit(&buffer, NULL, 1024, NULL, CX_BUFFER_AUTO_EXTEND); |
146 cx_stream_copy(f, &buffer, (cx_read_func) fread, cxBufferWriteFunc); |
146 cx_stream_copy(f, &buffer, (cx_read_func) fread, cxBufferWriteFunc); |
147 cxBufferPut(&buffer, '\0'); |
147 cxBufferPut(&buffer, '\0'); |
148 *code = realloc(buffer.space, buffer.size); |
148 *code = realloc(buffer.space, buffer.size); |
149 return *code == NULL ? -1 : 0; |
149 return *code == NULL ? -1 : 0; |
150 } |
150 } |