17b503086406f52613993d6b87b9df826653e9ce
5 int checkRecv(SOCKET s
);
7 int checkRecv(SOCKET s
)
11 struct timeval timeout
;
18 testVal
= select(0, &sSet
, NULL
, NULL
, &timeout
);
20 if (testVal
== SOCKET_ERROR
)
21 fprintf(stderr
, "Socket Error");
26 void blkfree(char **av0
)
28 register char **av
= av0
;
34 char **glob(const char *v
)
44 int herror(char *string
)
50 int gettimeofday(struct timeval
*timenow
,
51 struct timezone
*zone
)
58 timenow
->tv_sec
= t
/ CLK_TCK
;
63 int fgetcSocket(int s
)
70 c
= recv(s
, buffer
, 1, 0);
73 printf("%c", buffer
[0]);
76 if (c
== INVALID_SOCKET
)
87 int fgetcSocket(int s
)
91 static char buffer
[4096];
96 total
= recv(s
, buffer
, sizeof(buffer
), 0);
98 if (total
== SOCKET_ERROR
)
107 return buffer
[index
++];
112 const char *fprintfSocket(int s
, const char *format
, ...)
117 va_start(argptr
, format
);
118 vsprintf(buffer
, format
, argptr
);
121 send(s
, buffer
, strlen(buffer
), 0);
126 const char *fputsSocket(const char *format
, int s
)
128 send(s
, format
, strlen(format
), 0);
133 int fputcSocket(int s
, char putChar
)
140 if(SOCKET_ERROR
==send(s
, buffer
, 1, 0)) {
141 int iret
=WSAGetLastError ();
142 fprintf(stdout
,"fputcSocket: %d\n",iret
);
149 int fputSocket(int s
, char *buffer
, int len
)
153 if(SOCKET_ERROR
==(iret
=send(s
, buffer
, len
, 0)))
155 iret
=WSAGetLastError ();
156 fprintf(stdout
,"fputcSocket: %d\n",iret
);
166 char *fgetsSocket(int s
, char *string
)
168 char buffer
[2] = {0};
171 for (i
= 0, count
= 1; count
!= 0 && buffer
[0] != '\n'; i
++)
175 count
= recv(s
, buffer
, 1, 0);
177 if (count
== SOCKET_ERROR
)
179 printf("Error in fgetssocket");
185 string
[i
] = buffer
[0];
187 if (i
== MAX_ASCII
- 3)
201 string
[i
+ 1] = '\0'; // This is risky
211 printf("%s", string
);
218 char *getpass(const char *prompt
)
220 static char string
[64];
222 printf("%s", prompt
);
229 char *getpass (const char * prompt
)
231 static char input
[256];
236 in
= GetStdHandle (STD_INPUT_HANDLE
);
237 err
= GetStdHandle (STD_ERROR_HANDLE
);
239 if (in
== INVALID_HANDLE_VALUE
|| err
== INVALID_HANDLE_VALUE
)
242 if (WriteFile (err
, prompt
, strlen (prompt
), &count
, NULL
))
244 int istty
= (GetFileType (in
) == FILE_TYPE_CHAR
);
250 if (GetConsoleMode (in
, &old_flags
))
251 SetConsoleMode (in
, ENABLE_LINE_INPUT
| ENABLE_PROCESSED_INPUT
);
255 /* Need to read line one byte at time to avoid blocking, if not a
256 tty, so always do it this way. */
263 rc
= ReadFile (in
, &one_char
, 1, &dummy
, NULL
);
266 if (one_char
== '\r')
268 /* CR is always followed by LF if reading from tty. */
274 if (one_char
== '\n')
276 /* Silently truncate password string if overly long. */
277 if (count
< sizeof (input
) - 1)
278 input
[count
++] = one_char
;
282 WriteFile (err
, "\r\n", 2, &count
, NULL
);
284 SetConsoleMode (in
, old_flags
);
293 // Stubbed out here. Should be changed in Source code...
294 int access(const char *filename
, int accessmethod
)
301 #define EPOCHFILETIME (116444736000000000i64)
303 #define EPOCHFILETIME (116444736000000000LL)
306 int gettimeofday(struct timeval
*tv
, struct timezone
*tz
)
315 GetSystemTimeAsFileTime(&ft
);
316 li
.LowPart
= ft
.dwLowDateTime
;
317 li
.HighPart
= ft
.dwHighDateTime
;
318 t
= li
.QuadPart
; /* In 100-nanosecond intervals */
319 t
-= EPOCHFILETIME
; /* Offset to the Epoch time */
320 t
/= 10; /* In microseconds */
321 tv
->tv_sec
= (long)(t
/ 1000000);
322 tv
->tv_usec
= (long)(t
% 1000000);
332 tz
->tz_minuteswest
= _timezone
/ 60;
333 tz
->tz_dsttime
= _daylight
;