-
Notifications
You must be signed in to change notification settings - Fork 0
/
microeval.c
127 lines (96 loc) · 2.25 KB
/
microeval.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#include "microeval.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdint.h>
#include <stdarg.h>
#include <mutex.h>
// Specifies how deep in the function calling heirachy we are
int print_level = 1; // The function call depth to be printed
int flag_have_newline; // says if last print had a newline
char spacing[30];
static int verbose = 0;
// static mutex_t print_mutex;
static volatile int print_lock = 0;
void ulog_init()
{
// mutex_init(&print_mutex);
}
void ulogdf_impl_simple(char* format, ...)
{
// mutex_lock(&print_mutex);
/*
char x[300];
strcpy(x, format);
int len = strlen(x);
for (int i=0;i<len;i++)
{
if (x[i] == '%' && x[i+1] == 's')
x[i] = 'X';
}
va_list args;
va_start( args, format );
vfprintf( stdout, format, args );
va_end( args );
*/
char out[200];
va_list args;
va_start(args, format);
vsnprintf(out, 200, format, args);
va_end( args );
printf(out);
printf("\n");
fflush(stdout);
// mutex_unlock(&print_mutex, true);
}
void ulog_error_impl_simple(char* format, ...)
{
// mutex_lock(&print_mutex);
char out[200];
printf("(ERROR)");
va_list args;
va_start(args, format);
vsnprintf(out, 200, format, args);
va_end( args );
printf(out);
printf("\n");
fflush(stdout);
// mutex_unlock(&print_mutex, true);
}
void ulogdf_impl(char* s, int log_level, char* filename, int line, const char* functionname, ...)
{
if (log_level == LOG_INFO && verbose == 0)
return; // no output of 'info' in non-verbose mode
/*
mutex_lock(&print_mutex);
printf(s);
printf("\n");
fflush(stdout);
mutex_unlock(&print_mutex, true);
*/
/*
print_lock = 1;
char* short_file_name = strrchr(filename, '/') + 1;
if (s[0] == '>')
strcpy(spacing, " ");
else
strcpy(spacing, " ");
char* error = " ";
if (log_level == LOG_CRITICAL)
{
error = " (ERROR) ";
}
char msgbuffer[400];
snprintf(msgbuffer, 397, "%s# %s%-30s @ln%d in %s -- function %s\n", spacing, error, s, line, short_file_name, functionname);
// char out[200];
va_list args;
va_start(args, functionname);
//vsnprintf(out, 200, msgbuffer, args);
vprintf(msgbuffer, args );
va_end( args );
// printf(out);
fflush(stdout);
flag_have_newline = 0;
print_lock = 0;
*/
}