mirror of https://github.com/YosysHQ/yosys.git
39 lines
999 B
Diff
39 lines
999 B
Diff
|
--- ParseUtils.h
|
||
|
+++ ParseUtils.h
|
||
|
@@ -24,8 +24,6 @@ OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWA
|
||
|
#include <stdlib.h>
|
||
|
#include <stdio.h>
|
||
|
|
||
|
-#include <zlib.h>
|
||
|
-
|
||
|
#include "XAlloc.h"
|
||
|
|
||
|
namespace Minisat {
|
||
|
@@ -36,24 +34,16 @@ namespace Minisat {
|
||
|
|
||
|
|
||
|
class StreamBuffer {
|
||
|
- gzFile in;
|
||
|
unsigned char* buf;
|
||
|
int pos;
|
||
|
int size;
|
||
|
|
||
|
enum { buffer_size = 64*1024 };
|
||
|
|
||
|
- void assureLookahead() {
|
||
|
- if (pos >= size) {
|
||
|
- pos = 0;
|
||
|
- size = gzread(in, buf, buffer_size); } }
|
||
|
+ virtual void assureLookahead() = 0;
|
||
|
|
||
|
public:
|
||
|
- explicit StreamBuffer(gzFile i) : in(i), pos(0), size(0){
|
||
|
- buf = (unsigned char*)xrealloc(NULL, buffer_size);
|
||
|
- assureLookahead();
|
||
|
- }
|
||
|
- ~StreamBuffer() { free(buf); }
|
||
|
+ virtual ~StreamBuffer() { }
|
||
|
|
||
|
int operator * () const { return (pos >= size) ? EOF : buf[pos]; }
|
||
|
void operator ++ () { pos++; assureLookahead(); }
|