Beispiel #1
0
sint32_t NetUDPPrintf(pal_socket_t sock, char *out, sint32_t ol, char *Format, ...) 
{
	va_list argp;
	char Data[1024];

	va_start(argp, Format);
	pal_vsnprintf(Data, sizeof Data, Format, argp);
	va_end(argp);

	return NetUDPReadWrite(sock, Data, pal_strlen(Data), out, ol);
}
Beispiel #2
0
sint32_t ask(char *question, ...)
{
  va_list ap;
  char *buf;
  sint32_t c;
  sint32_t ret;

#ifdef WIN32
  enable_console_input();
#endif

  if ( (buf = malloc(sizeof(char) * 1024)) == NULL ) {
    Display(LOG_LEVEL_1, ELError, "ask", STR_GEN_MALLOC_ERROR);
    return 0;
  }

  va_start(ap, question);
  pal_vsnprintf(buf, 1024, question, ap);
  va_end(ap);

ask_again:

  printf("%s? (Y/N) ", buf);

  c = fgetc(stdin);

  /* empty stdin */
  fflush(stdin);

  c = tolower(c);

  if ((char)c == 'y')
    ret = 1;
  else if ((char)c == 'n')
    ret = 0;
  else goto ask_again;

  free(buf);

#ifdef WIN32
  disable_console_input();
#endif

  return ret;
}
Beispiel #3
0
ssize_t NetTCP6Printf( pal_socket_t sock, char *out, size_t pl, char *Format, ... )
{
  va_list argp;
  size_t Length;
  char Data[1024];

  va_start(argp, Format);
  pal_vsnprintf(Data, sizeof Data, Format, argp);
  va_end(argp);

  Length = pal_strlen(Data);

  if( NetTCP6Write(sock, Data, pal_strlen(Data)) != Length )
  {
    return 0;
  }

  return NetTCP6Read(sock, out, pl);
}