示例#1
0
文件: slerr.c 项目: ebichu/dd-wrt
static void verror_va (int err_code, SLCONST char *fmt, va_list ap)
{
   char err [4096];

   if (-1 == _pSLerr_init ())
     {
	print_queue ();
	return;
     }

   if (err_code == 0) 
     err_code = SL_INTRINSIC_ERROR;

   if (_pSLang_Error == 0)
     set_error (err_code);

   if (fmt == NULL)
     return;

   (void) SLvsnprintf (err, sizeof (err), (SLFUTURE_CONST char *)fmt, ap);

   if (Suspend_Error_Messages)
     (void) queue_message (Active_Error_Queue, err, _SLERR_MSG_ERROR);
   else
     print_error (_SLERR_MSG_ERROR, err);
}
示例#2
0
文件: slsmg.c 项目: ebichu/dd-wrt
void SLsmg_vprintf (SLFUTURE_CONST char *fmt, va_list ap)
{
   char buf[1024];

   if (Smg_Inited == 0) return;

   (void) SLvsnprintf (buf, sizeof (buf), fmt, ap);
   SLsmg_write_string (buf);
}
示例#3
0
文件: slerr.c 项目: ebichu/dd-wrt
int _pSLerr_traceback_msg (SLFUTURE_CONST char *fmt, ...)
{
   va_list ap;
   char msg [4096];

   va_start(ap, fmt);
   (void) SLvsnprintf (msg, sizeof (msg), fmt, ap);
   va_end(ap);

   return queue_message (Active_Error_Queue, msg, _SLERR_MSG_TRACEBACK);
}
示例#4
0
static int va_mvprintw (SLcurses_Window_Type *w, int r, int c, int do_move,
			char *fmt, va_list ap)
{
   char buf[1024];

   if (do_move) SLcurses_wmove (w, r, c);

   (void) SLvsnprintf (buf, sizeof(buf), fmt, ap);

   SLcurses_waddnstr (w, buf, -1);
   return 0;
}
示例#5
0
文件: slerr.c 项目: ebichu/dd-wrt
/* This routine does not queue messages.  It is used for tracing, etc. */
void _pSLerr_dump_msg (SLFUTURE_CONST char *fmt, ...)
{
   char buf[1024];
   va_list ap;

   va_start (ap, fmt);
   if (SLang_Dump_Routine != NULL)
     {
	(void) SLvsnprintf (buf, sizeof (buf), fmt, ap);
	(*SLang_Dump_Routine) (buf);
     }
   else
     {
	vfprintf (stderr, fmt, ap);
	fflush (stderr);
     }
   va_end (ap);
}