=================================================================== RCS file: /home/cvs/OpenXM/src/ox_toolkit/oxf.c,v retrieving revision 1.19 retrieving revision 1.24 diff -u -p -r1.19 -r1.24 --- OpenXM/src/ox_toolkit/oxf.c 2005/03/03 04:40:51 1.19 +++ OpenXM/src/ox_toolkit/oxf.c 2016/06/30 01:14:00 1.24 @@ -1,19 +1,18 @@ /* -*- mode: C; coding: euc-japan -*- */ -/* $OpenXM: OpenXM/src/ox_toolkit/oxf.c,v 1.18 2003/09/15 09:31:42 ohara Exp $ */ +/* $OpenXM: OpenXM/src/ox_toolkit/oxf.c,v 1.23 2015/08/27 03:03:33 ohara Exp $ */ /* This module includes functions for sending/receiveng CMO's. - Some commnets are written in Japanese by the EUC-JP coded - character set. */ +#if defined(_MSC_VER) +#define _CRT_RAND_S +#endif + #include #include #include -#include #include -#include -#include #include #include @@ -29,6 +28,25 @@ #include #endif +#if defined(_MSC_VER) +#include +#include +#define X_OK 0x01 +#define R_OK 0x04 +#define MAXHOSTNAMELEN 256 +#define srandom(s) (srand((s))) +static int random() +{ + int r; + rand_s(&r); + return r; +} +#else +#include +#include +#include +#endif + #include "mysocket.h" #include "ox_toolkit.h" @@ -41,8 +59,8 @@ static int receive_int32_nbo(OXFILE *oxfp); static int send_int64_nbo_le(OXFILE *oxfp, double int64); static int send_int64_lbo(OXFILE *oxfp, double int64); -static int receive_int64_nbo_le(OXFILE *oxfp); -static int receive_int64_lbo(OXFILE *oxfp); +static double receive_int64_nbo_le(OXFILE *oxfp); +static double receive_int64_lbo(OXFILE *oxfp); static void pipe_send_info(int fd, char *hostname, int port, char *password); @@ -77,7 +95,11 @@ int oxf_read(void *buffer, size_t size, size_t num, OX { int n = read(oxfp->fd, buffer, size*num); if (n <= 0) { +#if 0 oxfp->error = 1; +#else + exit(0); +#endif } return n; } @@ -111,17 +133,17 @@ static int send_int64_lbo(OXFILE *oxfp, double int64) } /* receiving an object of int64 type with Network Byte Order. */ -static int receive_int64_nbo_le(OXFILE *oxfp) +static double receive_int64_nbo_le(OXFILE *oxfp) { - int tag; + double tag; oxf_read(&tag, sizeof(double), 1, oxfp); return htonll_le(tag); } /* receiving an object of int64 type with Local Byte Order. */ -static int receive_int64_lbo(OXFILE *oxfp) +static double receive_int64_lbo(OXFILE *oxfp) { - int tag; + double tag; oxf_read(&tag, sizeof(double), 1, oxfp); return tag; } @@ -353,6 +375,7 @@ char *which(char *exe, const char *env) return NULL; } +#if !defined(_MSC_VER) /* Remarks: ssh determines remote host by his name, i.e. by arg[0]. */ int oxc_start(char *remote_host, int port, char *passwd) { @@ -396,6 +419,7 @@ int oxc_start_with_pipe(char *remote_host, int port, c } return pid; } +#endif static void pipe_send_string(int fd, char *s) {