... | ... |
@@ -2909,7 +2909,36 @@ int cl_load(const char *path, struct cl_engine *engine, unsigned int *signo, uns |
2909 | 2909 |
} |
2910 | 2910 |
|
2911 | 2911 |
if(CLAMSTAT(path, &sb) == -1) { |
2912 |
- cli_errmsg("cl_load(): Can't get status of %s\n", path); |
|
2912 |
+ switch (errno) { |
|
2913 |
+#if defined(EACCES) |
|
2914 |
+ case EACCES: |
|
2915 |
+ cli_errmsg("cl_load(): Access denied for path: %s\n", path); |
|
2916 |
+ break; |
|
2917 |
+#endif |
|
2918 |
+#if defined(ENOENT) |
|
2919 |
+ case ENOENT: |
|
2920 |
+ cli_errmsg("cl_load(): No such file or directory: %s\n", path); |
|
2921 |
+ break; |
|
2922 |
+#endif |
|
2923 |
+#if defined(ELOOP) |
|
2924 |
+ case ELOOP: |
|
2925 |
+ cli_errmsg("cl_load(): Too many symbolic links encountered in path: %s\n", path); |
|
2926 |
+ break; |
|
2927 |
+#endif |
|
2928 |
+#if defined(EOVERFLOW) |
|
2929 |
+ case EOVERFLOW: |
|
2930 |
+ cli_errmsg("cl_load(): File size is too large to be recognized. Path: %s\n", path); |
|
2931 |
+ break; |
|
2932 |
+#endif |
|
2933 |
+#if defined(EIO) |
|
2934 |
+ case EIO: |
|
2935 |
+ cli_errmsg("cl_load(): An I/O error occurred while reading from path: %s\n", path); |
|
2936 |
+ break; |
|
2937 |
+#endif |
|
2938 |
+ default: |
|
2939 |
+ cli_errmsg("cl_load: Can't get status of: %s\n", path); |
|
2940 |
+ break; |
|
2941 |
+ } |
|
2913 | 2942 |
return CL_ESTAT; |
2914 | 2943 |
} |
2915 | 2944 |
|