12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #ifndef BOINC_MIOFILE_H
- #define BOINC_MIOFILE_H
- #ifdef _USING_FCGI_
- #include "boinc_fcgi.h"
- #endif
- #include <string>
- #include "mfile.h"
- class MIOFILE {
- MFILE* mf;
- char* wbuf;
- int len;
- const char* buf;
- public:
- FILE* f;
- MIOFILE();
- ~MIOFILE();
- void init_mfile(MFILE*);
- #ifndef _USING_FCGI_
- void init_file(FILE*);
- #else
- void init_file(FCGI_FILE *);
- #endif
- void init_buf_read(const char*);
- void init_buf_write(char*, int len);
- int printf(const char* format, ...);
- char* fgets(char*, int);
- int _ungetc(int);
- bool eof();
- inline int _getc() {
- if (f) {
- return fgetc(f);
- }
- return (*buf)?(*buf++):EOF;
- }
- };
- extern int copy_element_contents(MIOFILE& in, const char* end_tag, char* p, int len);
- extern int copy_element_contents(MIOFILE& in, const char* end_tag, std::string&);
- #endif
|