--- /dev/null
+/*
+* Copyright 2018 Samsung Electronics Co., Ltd
+*
+* Licensed under the Flora License, Version 1.1 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://floralicense.org/license/
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+#ifndef __ERR_CHECK_H__
+#define __ERR_CHECK_H__
+
+#include "log.h"
+
+#define ON_NULL_RETURN_VAL(x, v) do { \
+ if ((x) == NULL) {\
+ ERR(#x" is NULL");\
+ return (v);\
+ }\
+} while (0)
+
+#define ON_TRUE_RETURN_VAL(cond, v) do { \
+ if ((cond)) {\
+ ERR("condition ("#cond") is true");\
+ return (v);\
+ }\
+} while (0)
+
+#endif
+
#include "procfs.h"
#include "log.h"
+#include "err-check.h"
#define LOADAVG_FILEPATH "/proc/loadavg"
{
float a1, a5, a15;
+ ON_NULL_RETURN_VAL(info, -1);
+
FILE *loadavg_fp = fopen(LOADAVG_FILEPATH, "r");
if (!loadavg_fp) {
ERR("failed to open " LOADAVG_FILEPATH);