summaryrefslogtreecommitdiffstats
path: root/network/havp/patches/patch-havp_scanners_clamlibscanner_cpp
diff options
context:
space:
mode:
Diffstat (limited to 'network/havp/patches/patch-havp_scanners_clamlibscanner_cpp')
-rw-r--r--network/havp/patches/patch-havp_scanners_clamlibscanner_cpp64
1 files changed, 64 insertions, 0 deletions
diff --git a/network/havp/patches/patch-havp_scanners_clamlibscanner_cpp b/network/havp/patches/patch-havp_scanners_clamlibscanner_cpp
new file mode 100644
index 0000000000..fb6b1174c5
--- /dev/null
+++ b/network/havp/patches/patch-havp_scanners_clamlibscanner_cpp
@@ -0,0 +1,64 @@
+# clamav 1.0.0 mostly uses cl_error_t (aka unsigned int) for
+# returning error values, change type to match
+#
+# ...except cl_statchkdir, which returns cl_error_t type values
+# but is still an int, so bodge around that
+
+Index: havp/scanners/clamlibscanner.cpp
+--- havp/scanners/clamlibscanner.cpp.orig
++++ havp/scanners/clamlibscanner.cpp
+@@ -22,7 +22,7 @@ extern int LL;
+ bool ClamLibScanner::InitDatabase()
+ {
+ unsigned int sigs = 0;
+- int ret;
++ cl_error_t ret;
+ if (LL>2) cl_debug();
+
+ #ifdef CL_INIT_DEFAULT
+@@ -118,9 +118,10 @@ bool ClamLibScanner::InitDatabase()
+
+ int ClamLibScanner::ReloadDatabase()
+ {
+- int ret = cl_statchkdir(&dbstat);
++ cl_error_t ret;
++ int reti = cl_statchkdir(&dbstat);
+
+- if ( ret == 1 )
++ if ( reti == 1 )
+ {
+ unsigned int sigs = 0;
+ struct cl_settings *settings = NULL;
+@@ -191,9 +192,9 @@ int ClamLibScanner::ReloadDatabase()
+
+ return 1;
+ }
+- else if ( ret != 0 )
++ else if ( reti != 0 )
+ {
+- LogFile::ErrorMessage("ClamAV: Error on database check: %s\n", cl_strerror(ret));
++ LogFile::ErrorMessage("ClamAV: Error on database check\n");
+ }
+
+ return 0;
+@@ -203,9 +204,9 @@ int ClamLibScanner::ReloadDatabase()
+ string ClamLibScanner::Scan( const char *FileName )
+ {
+ #ifdef CL_INIT_DEFAULT
+- int ret = cl_scanfile(FileName, &virname, NULL, engine, &cl_options);
++ cl_error_t ret = cl_scanfile(FileName, &virname, NULL, engine, &cl_options);
+ #else
+- int ret = cl_scanfile(FileName, &virname, NULL, engine, &limits, scanopts);
++ cl_error_t ret = cl_scanfile(FileName, &virname, NULL, engine, &limits, scanopts);
+ #endif
+
+ //Clean?
+@@ -240,7 +241,7 @@ string ClamLibScanner::Scan( const char *FileName )
+ void ClamLibScanner::FreeDatabase()
+ {
+ #ifdef CL_INIT_DEFAULT
+- int ret = cl_engine_free(engine);
++ cl_error_t ret = cl_engine_free(engine);
+ if ( ret != CL_SUCCESS )
+ {
+ LogFile::ErrorMessage("ClamAV: cl_engine_free() failed: %s\n", cl_strerror(ret));