#include "config.h"
#include <ctype.h>
#include <stdio.h>
#include <conio.h>
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <winsock.h>
#include <stdlib.h>
#include "cvs.h"
void
init_winsock ()
{
WSADATA data;
if (WSAStartup (MAKEWORD (1, 1), &data))
{
fprintf (stderr, "cvs: unable to initialize winsock\n");
exit (1);
}
}
void
wnt_cleanup (void)
{
if (WSACleanup ())
{
#ifdef SERVER_ACTIVE
if (server_active || error_use_protocol)
;
else
#endif
fprintf (stderr, "cvs: cannot WSACleanup: %s\n",
sock_strerror (WSAGetLastError ()));
}
}
unsigned sleep(unsigned seconds)
{
Sleep(1000*seconds);
return 0;
}
int usleep(unsigned long useconds)
{
Sleep(useconds/1000 + (useconds%1000 ? 1 : 0));
return 0;
}
char *win32getlogin()
{
static char name[256];
DWORD dw = 256;
GetUserName (name, &dw);
if (name[0] == '\0')
return NULL;
else
return name;
}
pid_t
getpid ()
{
return (pid_t) GetCurrentProcessId();
}
char *
getpass (const char *prompt)
{
static char pwd_buf[128];
size_t i;
fputs (prompt, stderr);
fflush (stderr);
for (i = 0; i < sizeof (pwd_buf) - 1; ++i)
{
pwd_buf[i] = _getch ();
if (pwd_buf[i] == '\r')
break;
}
pwd_buf[i] = '\0';
fputs ("\n", stderr);
return pwd_buf;
}