=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2018/include/ox.h,v retrieving revision 1.4 retrieving revision 1.8 diff -u -p -r1.4 -r1.8 --- OpenXM_contrib2/asir2018/include/ox.h 2020/06/17 05:57:18 1.4 +++ OpenXM_contrib2/asir2018/include/ox.h 2022/03/30 04:58:53 1.8 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2018/include/ox.h,v 1.3 2020/03/29 17:01:55 fujimoto Exp $ + * $OpenXM: OpenXM_contrib2/asir2018/include/ox.h,v 1.7 2021/03/26 07:54:17 fujimoto Exp $ */ #include "com.h" #if defined(linux) @@ -161,10 +161,11 @@ typedef FILE *ox_stream; /* a macro to check whether data are available in the read buffer */ #if defined(ANDROID) -#define FP_DATA_IS_AVAILABLE(fp) ((fp)->_r) -#elif defined(linux) -//#define FP_DATA_IS_AVAILABLE(fp) ((fp)->_IO_read_ptr < (fp)->_IO_read_end) -#define FP_DATA_IS_AVAILABLE(fp) (__freadable(fp)) +#define FP_DATA_IS_AVAILABLE(fp) (__fbufsize(fp) > 0) +#elif !defined(__GLIBC__) && defined(linux) +#define FP_DATA_IS_AVAILABLE(fp) (__freadahead(fp) > 0) +#elif defined(__GLIBC__) && defined(linux) +#define FP_DATA_IS_AVAILABLE(fp) ((fp)->_IO_read_ptr < (fp)->_IO_read_end) #elif defined(__FreeBSD__) || defined(__DARWIN__) || (defined(__MACH__) && defined(__ppc__)) || defined(__CYGWIN__) || defined(__INTERIX) #define FP_DATA_IS_AVAILABLE(fp) ((fp)->_r) #elif defined(sparc) || defined(__alpha) || defined(__SVR4) || defined(mips) || defined(_IBMR2) @@ -292,7 +293,6 @@ void write_int(FILE *f,unsigned int *p); void write_int64(FILE *f,UL *p); void init_deskey(); void write_intarray(FILE *f,unsigned int *p,int l); -void write_longarray(FILE *f,unsigned long *p,int l); void write_double(FILE *f,double *p); void write_string(FILE *f,unsigned char *p,int l); void read_char(FILE *f,unsigned char *p); @@ -300,9 +300,15 @@ void read_short(FILE *f,unsigned short *p); void read_int(FILE *f,unsigned int *p); void read_int64(FILE *f,UL *p); void read_intarray(FILE *f,unsigned int *p,int l); -void read_longarray(FILE *f,unsigned long *p,int l); void read_string(FILE *f,unsigned char *p,int l); void read_double(FILE *f,double *p); +#if defined(_WIN64) +void write_longarray(FILE *f,unsigned long long *p,int l); +void read_longarray(FILE *f,unsigned long long *p,int l); +#else +void write_longarray(FILE *f,unsigned long *p,int l); +void read_longarray(FILE *f,unsigned long *p,int l); +#endif int getremotesocket(int s); void getremotename(int s,char *name); void generate_port(int use_unix,char *port_str);