version 1.9, 2004/02/23 09:03:43 |
version 1.11, 2004/12/16 08:42:14 |
|
|
/*$OpenXM: OpenXM/src/kan96xx/plugin/file2.c,v 1.8 2003/11/24 08:16:13 takayama Exp $ */ |
/*$OpenXM: OpenXM/src/kan96xx/plugin/file2.c,v 1.10 2004/02/25 23:14:35 takayama Exp $ */ |
#include <stdio.h> |
#include <stdio.h> |
#include <sys/time.h> |
#include <sys/time.h> |
#include <sys/types.h> |
#include <sys/types.h> |
#include <unistd.h> |
#include <unistd.h> |
|
#include <errno.h> |
#include "file2.h" |
#include "file2.h" |
|
|
/* If you use file2 standalone to output string, |
/* If you use file2 standalone to output string, |
Line 77 FILE2 *fp2open(int fd) { |
|
Line 78 FILE2 *fp2open(int fd) { |
|
fp2->mathcapList = NULL; |
fp2->mathcapList = NULL; |
fp2->log_incomming = NULL; |
fp2->log_incomming = NULL; |
fp2->log_outgoing = NULL; |
fp2->log_outgoing = NULL; |
|
fp2->popened = 0; |
|
fp2->pfp = NULL; |
return(fp2); |
return(fp2); |
} |
} |
|
|
|
void fp2setfp(FILE2 *fp2,FILE *fp,int popened) { |
|
fp2->pfp = fp; |
|
fp2->popened = popened; |
|
} |
|
|
int fp2fflush(FILE2 *fp2) { |
int fp2fflush(FILE2 *fp2) { |
int r; |
int r; |
Line 111 int fp2fclose(FILE2 *fp2) { |
|
Line 118 int fp2fclose(FILE2 *fp2) { |
|
fprintf(stderr,"fp2fclose: flush error.\n"); |
fprintf(stderr,"fp2fclose: flush error.\n"); |
return(-1); |
return(-1); |
} |
} |
return(close(fp2->fd)); |
if (fp2->pfp != NULL) { |
|
if (fp2->popened) { |
|
return pclose(fp2->pfp); |
|
} else return fclose(fp2->pfp); |
|
} |
|
else return(close(fp2->fd)); |
} |
} |
|
|
int fp2fputc(int c,FILE2 *fp2) { |
int fp2fputc(int c,FILE2 *fp2) { |
Line 224 int fp2dumpBuffer(FILE2 *fp2) { |
|
Line 236 int fp2dumpBuffer(FILE2 *fp2) { |
|
int fp2clearReadBuf(FILE2 *fp2) { |
int fp2clearReadBuf(FILE2 *fp2) { |
fd_set readfds; |
fd_set readfds; |
struct timeval timeout; |
struct timeval timeout; |
extern int errno; |
|
int fd; |
int fd; |
#define TMP00SIZE 2000 |
#define TMP00SIZE 2000 |
char tmp00[TMP00SIZE]; |
char tmp00[TMP00SIZE]; |