git-svn: trunk@1584
Tomasz Kojm authored on 2005/05/26 10:51:21... | ... |
@@ -1,3 +1,8 @@ |
1 |
+Thu May 26 03:20:44 CEST 2005 (tk) |
|
2 |
+---------------------------------- |
|
3 |
+ * libclamav/others.c: print warnings and errors in single call to write |
|
4 |
+ (thanks to Denis Vlasenko <vda*ilport.com.ua>) |
|
5 |
+ |
|
1 | 6 |
Wed May 25 20:41:40 BST 2005 (njh) |
2 | 7 |
---------------------------------- |
3 | 8 |
* clamav-milter: When not in external mode, TEMPFAIL when loading a new |
... | ... |
@@ -80,38 +80,51 @@ short cli_debug_flag = 0, cli_leavetemps_flag = 0; |
80 | 80 |
|
81 | 81 |
static unsigned char name_salt[16] = { 16, 38, 97, 12, 8, 4, 72, 196, 217, 144, 33, 124, 18, 11, 17, 253 }; |
82 | 82 |
|
83 |
+ |
|
83 | 84 |
void cli_warnmsg(const char *str, ...) |
84 | 85 |
{ |
85 | 86 |
va_list args; |
87 |
+ int sz = sizeof("LibClamAV Warning: ") - 1; |
|
88 |
+ char buff[256]; |
|
86 | 89 |
|
90 |
+ strncpy(buff, "LibClamAV Warning: ", sz); |
|
87 | 91 |
va_start(args, str); |
88 |
- fprintf(stderr, "LibClamAV Warning: "); |
|
89 |
- vfprintf(stderr, str, args); |
|
92 |
+ vsnprintf(buff + sz, sizeof(buff) - sz, str, args); |
|
93 |
+ buff[sizeof(buff) - 1] = '\0'; |
|
94 |
+ fputs(buff, stderr); |
|
90 | 95 |
va_end(args); |
91 | 96 |
} |
92 | 97 |
|
93 | 98 |
void cli_errmsg(const char *str, ...) |
94 | 99 |
{ |
95 | 100 |
va_list args; |
101 |
+ int sz = sizeof("LibClamAV Error: ") - 1; |
|
102 |
+ char buff[256]; |
|
96 | 103 |
|
104 |
+ strncpy(buff, "LibClamAV Error: ", sz); |
|
97 | 105 |
va_start(args, str); |
98 |
- fprintf(stderr, "LibClamAV Error: "); |
|
99 |
- vfprintf(stderr, str, args); |
|
106 |
+ vsnprintf(buff + sz, sizeof(buff) - sz, str, args); |
|
107 |
+ buff[sizeof(buff) - 1] = '\0'; |
|
108 |
+ fputs(buff, stderr); |
|
100 | 109 |
va_end(args); |
101 | 110 |
} |
102 | 111 |
|
103 | 112 |
void cli_dbgmsg(const char *str, ...) |
104 | 113 |
{ |
105 |
- va_list args; |
|
106 | 114 |
|
107 | 115 |
if(cli_debug_flag) { |
116 |
+ va_list args; |
|
117 |
+ int sz = sizeof("LibClamAV debug: ") - 1; |
|
118 |
+ char buff[256]; |
|
119 |
+ |
|
120 |
+ memcpy(buff, "LibClamAV debug: ", sz); |
|
108 | 121 |
va_start(args, str); |
109 |
- fprintf(stderr, "LibClamAV debug: "); |
|
110 |
- vfprintf(stderr, str, args); |
|
122 |
+ vsnprintf(buff + sz, sizeof(buff) - sz, str, args); |
|
123 |
+ buff[sizeof(buff) - 1] = '\0'; |
|
124 |
+ fputs(buff, stderr); |
|
111 | 125 |
va_end(args); |
112 | 126 |
} else |
113 | 127 |
return; |
114 |
- |
|
115 | 128 |
} |
116 | 129 |
|
117 | 130 |
void cl_debug(void) |