// Bullshit file to pass compilation, this will be replaced by a real piece of code. -- RA 2000-03-21

#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <stdarg.h>

#define IN_UI_LOG_C 1


#define gen_loglevel 10
#define LOG_CRITICAL 1
#define LOG_USER 2

/*** ui_log - log message ***/

void ui_log(unsigned int loglevel, const char *text, ...)
{
    va_list ap;

    if (loglevel <= gen_loglevel) {
        if (loglevel == LOG_CRITICAL)
            fprintf(stderr,"CRIT ");
        else if (loglevel == LOG_USER)
            fprintf(stderr,"USER ");
        else if (loglevel > LOG_USER)
            fprintf(stderr,"DEBG ");
        else
            fprintf(stderr,"---- ");
        va_start(ap, text);
        vfprintf(stderr,text, ap);
        va_end(ap);
        fprintf(stderr,"\n");
        fflush(stderr);
    }
}



/*** ui_err - log error message and quit ***/

void ui_err(const char *text, ...)
{
    va_list ap;

    fprintf(stderr,"ERR: ");

    va_start(ap, text);
    vfprintf(stderr, text, ap);
    va_end(ap);
    putc(10, stderr);
    fflush(stderr);
    //exit(1);
}


void ui_error(const char *text, ...)
{
    va_list ap;

    fprintf(stderr,"ERROR: ");

    va_start(ap, text);
    vfprintf(stderr, text, ap);
    va_end(ap);
    putc(10, stderr);
    fflush(stderr);
 }


void ui_log_verbose(const char *text, ...)
{
    va_list ap;

    fprintf(stderr,"VERBOSE LOG: ");

    va_start(ap, text);
    vfprintf(stderr, text, ap);
    va_end(ap);
    putc(10, stderr);
    fflush(stderr);
}

void ui_log_request(const char *text, ...)
{
    va_list ap;

    fprintf(stderr,"REQUEST LOG: ");

    va_start(ap, text);
    vfprintf(stderr, text, ap);
    va_end(ap);
    putc(10, stderr);
    fflush(stderr);
}


void ui_log_critical(const char *text, ...)
{
    va_list ap;

    fprintf(stderr,"CRITICAL LOG: ");

    va_start(ap, text);
    vfprintf(stderr, text, ap);
    va_end(ap);
    putc(10, stderr);
    fflush(stderr);
}



void ui_log_debug3(const char *text, ...)
{
    va_list ap;

    fprintf(stderr,"DEBUG3 LOG: ");

    va_start(ap, text);
    vfprintf(stderr, text, ap);
    va_end(ap);
    putc(10, stderr);
    fflush(stderr);
}

void ui_log_debug2(const char *text, ...)
{
    va_list ap;

    fprintf(stderr,"DEBUG2 LOG: ");

    va_start(ap, text);
    vfprintf(stderr, text, ap);
    va_end(ap);
    putc(10, stderr);
    fflush(stderr);
}
void ui_log_debug1(const char *text, ...)
{
    va_list ap;

    fprintf(stderr,"DEBUG1 LOG: ");

    va_start(ap, text);
    vfprintf(stderr, text, ap);
    va_end(ap);
    putc(10, stderr);
    fflush(stderr);
}
void ui_log_user(const char *text, ...)
{
    va_list ap;

    fprintf(stderr,"USER LOG: ");

    va_start(ap, text);
    vfprintf(stderr, text, ap);
    va_end(ap);
    putc(10, stderr);
    fflush(stderr);
}

void ui_log_normal(const char *text, ...)
{
    va_list ap;

    fprintf(stderr,"NORMAL LOG: ");

    va_start(ap, text);
    vfprintf(stderr, text, ap);
    va_end(ap);
    putc(10, stderr);
    fflush(stderr);
}

void ui_xdebug(const char *file, int line, const char *text, ...)
{
    va_list ap;

    fprintf(stderr,"DEBUG (%s:%d)",file,line);

    va_start(ap, text);
    vfprintf(stderr, text, ap);
    va_end(ap);
    putc(10, stderr);
    fflush(stderr);
}

