Module: check_mk
Branch: master
Commit: fda8456cdc4f5cfc9c689c230a227f7219edccc7
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=fda8456cdc4f5c…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Mon May 2 16:54:59 2016 +0200
Livestatus: Correct handling of missing blob files, None instead of ""
---
livestatus/src/BlobColumn.cc | 7 ++-----
livestatus/src/LogwatchListColumn.cc | 3 +++
livestatus/src/Query.cc | 8 ++++++--
3 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/livestatus/src/BlobColumn.cc b/livestatus/src/BlobColumn.cc
index 7aa09f6..616d355 100644
--- a/livestatus/src/BlobColumn.cc
+++ b/livestatus/src/BlobColumn.cc
@@ -29,10 +29,7 @@
void BlobColumn::output(void *data, Query *query) {
int size;
char *buffer = getBlob(data, &size);
- if (buffer != nullptr) {
- query->outputBlob(buffer, size);
+ query->outputBlob(buffer, size);
+ if (buffer != nullptr)
free(buffer);
- } else {
- query->outputBlob("", 0);
- }
}
diff --git a/livestatus/src/LogwatchListColumn.cc b/livestatus/src/LogwatchListColumn.cc
index a7a4bc4..6a0ef97 100644
--- a/livestatus/src/LogwatchListColumn.cc
+++ b/livestatus/src/LogwatchListColumn.cc
@@ -67,6 +67,9 @@ void LogwatchListColumn::output(void *data, Query *query)
closedir(dir);
break;
}
+ if (!strcmp(dep->d_name, ".") || !strcmp(dep->d_name,
".."))
+ continue;
+
if (first)
first = false;
else
diff --git a/livestatus/src/Query.cc b/livestatus/src/Query.cc
index 83a6535..45cf46d 100644
--- a/livestatus/src/Query.cc
+++ b/livestatus/src/Query.cc
@@ -1079,9 +1079,13 @@ void Query::outputUnicodeEscape(unsigned value) {
void Query::outputBlob(const char *buffer, int size) {
if (_output_format != OUTPUT_FORMAT_CSV) {
- outputString(buffer, size);
+ if (buffer)
+ outputString(buffer, size);
+ else
+ outputNull();
} else {
- _output->addBuffer(buffer, size);
+ if (buffer)
+ _output->addBuffer(buffer, size);
}
}