Exemplo n.º 1
0
vtostdout(const char *format, va_list ap)
{
  int len;
  char tempstr[maxtextlength+1];
  
  if (!gdata.stdout_buffer_init)
    {
      vprintf(format,ap);
      fflush(stdout);
    }
  else
    {
      len = vsnprintf(tempstr,maxtextlength,format,ap);
      
      if ((len < 0) || (len >= (int)maxtextlength))
        {
          len = 0;
        }
      
      ir_boutput_write(&gdata.stdout_buffer, tempstr, len);
      
    }
  
  return;
}
Exemplo n.º 2
0
void vwritedccchat(dccchat_t *chat, int add_return, const char *format, va_list ap)
{
  char tempstr[maxtextlength];
  int len;
  
  updatecontext();
  
  if ((chat->status != DCCCHAT_AUTHENTICATING) &&
      (chat->status != DCCCHAT_CONNECTED))
    {
      return;
    }
  
  len = vsnprintf(tempstr, maxtextlength, format, ap);
  
  if ((len < 0) || (len >= (int)maxtextlength))
    {
      outerror(OUTERROR_TYPE_WARN_LOUD | OUTERROR_TYPE_NOLOG,
               "DCCCHAT: Output too large, ignoring!");
      return;
    }
  
  ir_boutput_write(&chat->boutput, tempstr, len);
  
  if (add_return)
    {
      ir_boutput_write(&chat->boutput, "\n", 1);
    }
  
  if (gdata.debug > 11)
    {
      if (tempstr[len-1] == '\n')
        {
          tempstr[len-1] = '\0';
        }
      ioutput(OUT_S, COLOR_CYAN, "<DCC<: %s", tempstr);
    }
}