diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000000000000000000000000000000000000..51c63e295e0232f7095a8ee8e03713837e37f419
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,15 @@
+*.tgz filter=lfs diff=lfs merge=lfs -text
+*.trp filter=lfs diff=lfs merge=lfs -text
+*.apk filter=lfs diff=lfs merge=lfs -text
+*.jar filter=lfs diff=lfs merge=lfs -text
+*.mp4 filter=lfs diff=lfs merge=lfs -text
+*.zip filter=lfs diff=lfs merge=lfs -text
+*.asm filter=lfs diff=lfs merge=lfs -text
+*.8svn filter=lfs diff=lfs merge=lfs -text
+*.9svn filter=lfs diff=lfs merge=lfs -text
+*.dylib filter=lfs diff=lfs merge=lfs -text
+*.exe filter=lfs diff=lfs merge=lfs -text
+*.a filter=lfs diff=lfs merge=lfs -text
+*.so filter=lfs diff=lfs merge=lfs -text
+*.bin filter=lfs diff=lfs merge=lfs -text
+*.dll filter=lfs diff=lfs merge=lfs -text
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..755f09aa630d3b4a305d258385124b972559ff3f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+*.o
+*.a
+*.d
+*.cmd
diff --git a/OAT.xml b/OAT.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9877bc288ecde98e25a2308039db22553168d4b0
--- /dev/null
+++ b/OAT.xml
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/README.md b/README.md
index 27cb7c89a0ecf27788e039ec726b566a8f33703a..e182839b0bc0c7b5c3c00b5dfc67e5a1e2048bcf 100644
--- a/README.md
+++ b/README.md
@@ -156,9 +156,9 @@ For details, see [WLAN Overview](https://gitee.com/openharmony/docs/blob/master
drivers\_framework
-[drivers\_adapter\_uhdf](https://gitee.com/openharmony/drivers_adapter_uhdf/blob/master/README.md)
+[drivers\_adapter](https://gitee.com/openharmony/drivers_adapter/blob/master/README.md)
-[drivers\_adapter\_khdf\_linux](https://gitee.com/openharmony/drivers_adapter_uhdf/blob/master/README.md)
+[drivers\_adapter\_khdf\_linux](https://gitee.com/openharmony/drivers_adapter_khdf_linux/blob/master/README.md)
-[drivers\_adapter\_khdf\_liteos](https://gitee.com/openharmony/drivers_adapter_uhdf/blob/master/README.md)
+[drivers\_peripheral](https://gitee.com/openharmony/drivers_peripheral/blob/master/README.md)
diff --git a/README_zh.md b/README_zh.md
index 9cac929941d3c5e9b94661af2964709408c7b46e..ecc7f41f82764057c57d27e6ea2339efb02d3569 100644
--- a/README_zh.md
+++ b/README_zh.md
@@ -156,13 +156,9 @@ HDF驱动框架详细开发请参考[驱动开发指南](https://gitee.com/openh
drivers\_framework
-[drivers\_adapter\_uhdf](https://gitee.com/openharmony/drivers_adapter_uhdf/blob/master/README_zh.md)
+[drivers\_adapter](https://gitee.com/openharmony/drivers_adapter/blob/master/README_zh.md)
[drivers\_adapter\_khdf\_linux](https://gitee.com/openharmony/drivers_adapter_khdf_linux/blob/master/README_zh.md)
-[drivers\_adapter\_khdf\_liteos](https://gitee.com/openharmony/drivers_adapter_khdf_liteos/blob/master/README_zh.md)
-
-
-
+[drivers\_peripheral](https://gitee.com/openharmony/drivers_peripheral/blob/master/README_zh.md)
diff --git a/core/shared/include/hdf_device_info.h b/core/shared/include/hdf_device_info.h
index b77ec148cdf6380017896e9d11009662eb8893cf..de2f2984d8c95726ccf34531914a3ef98ba13683 100755
--- a/core/shared/include/hdf_device_info.h
+++ b/core/shared/include/hdf_device_info.h
@@ -12,9 +12,6 @@
#include "hdf_device_desc.h"
#include "hdf_slist.h"
-#define USB_PNP_INFO_MAX_INTERFACES 32
-#define USB_PNP_DEBUG_STRING ""
-
enum {
HDF_SERVICE_UNUSABLE,
HDF_SERVICE_USABLE,
@@ -39,75 +36,6 @@ struct HdfDeviceInfo {
const char *moduleName;
const char *svcName;
const char *deviceMatchAttr;
- const void *private;
-};
-
-enum UsbPnpNotifyServiceCmd {
- USB_PNP_NOTIFY_ADD_INTERFACE,
- USB_PNP_NOTIFY_REMOVE_INTERFACE,
- USB_PNP_NOTIFY_REPORT_INTERFACE,
-};
-
-enum UsbPnpNotifyRemoveType {
- USB_PNP_NOTIFY_REMOVE_BUS_DEV_NUM,
- USB_PNP_NOTIFY_REMOVE_INTERFACE_NUM,
-};
-
-enum {
- USB_PNP_NOTIFY_MATCH_VENDOR = 0x0001,
- USB_PNP_NOTIFY_MATCH_PRODUCT = 0x0002,
- USB_PNP_NOTIFY_MATCH_DEV_LOW = 0x0004,
- USB_PNP_NOTIFY_MATCH_DEV_HIGH = 0x0008,
- USB_PNP_NOTIFY_MATCH_DEV_CLASS = 0x0010,
- USB_PNP_NOTIFY_MATCH_DEV_SUBCLASS = 0x0020,
- USB_PNP_NOTIFY_MATCH_DEV_PROTOCOL = 0x0040,
- USB_PNP_NOTIFY_MATCH_INT_CLASS = 0x0080,
- USB_PNP_NOTIFY_MATCH_INT_SUBCLASS = 0x0100,
- USB_PNP_NOTIFY_MATCH_INT_PROTOCOL = 0x0200,
- USB_PNP_NOTIFY_MATCH_INT_NUMBER = 0x0400,
-};
-
-struct UsbPnpNotifyServiceInfo {
- int32_t length;
-
- int32_t devNum;
- int32_t busNum;
-
- int32_t interfaceLength;
- uint8_t interfaceNumber[USB_PNP_INFO_MAX_INTERFACES];
-} __attribute__ ((packed));
-
-struct UsbPnpNotifyInterfaceInfo {
- uint8_t interfaceClass;
- uint8_t interfaceSubClass;
- uint8_t interfaceProtocol;
-
- uint8_t interfaceNumber;
-};
-
-struct UsbPnpNotifyDeviceInfo {
- uint16_t vendorId;
- uint16_t productId;
-
- uint16_t bcdDeviceLow;
- uint16_t bcdDeviceHigh;
-
- uint8_t deviceClass;
- uint8_t deviceSubClass;
- uint8_t deviceProtocol;
-};
-
-struct UsbPnpNotifyMatchInfoTable {
- uint32_t usbDevAddr;
- int32_t devNum;
- int32_t busNum;
-
- struct UsbPnpNotifyDeviceInfo deviceInfo;
-
- uint8_t removeType;
- uint8_t numInfos;
-
- struct UsbPnpNotifyInterfaceInfo interfaceInfo[USB_PNP_INFO_MAX_INTERFACES];
};
struct HdfDeviceInfo *HdfDeviceInfoNewInstance(void);
diff --git a/core/shared/src/hdf_device_info.c b/core/shared/src/hdf_device_info.c
index 29653af9fe5f32048d20d2adcf372a5ddcb38891..9228d56fd698d87d332f02f5daf7cf9207fc76b2 100755
--- a/core/shared/src/hdf_device_info.c
+++ b/core/shared/src/hdf_device_info.c
@@ -29,7 +29,6 @@ void HdfDeviceInfoConstruct(struct HdfDeviceInfo *deviceInfo)
deviceInfo->svcName = NULL;
deviceInfo->moduleName = NULL;
deviceInfo->deviceMatchAttr = NULL;
- deviceInfo->private = NULL;
}
struct HdfDeviceInfo *HdfDeviceInfoNewInstance()
diff --git a/figures/architecture-of-the-hdf.png b/figures/architecture-of-the-hdf.png
index 2bd6a1d84c8f3e284fb684a40bddca7286bbeb58..f4eb8c3cb2702c9f1c29b84448174648dbbe0114 100644
Binary files a/figures/architecture-of-the-hdf.png and b/figures/architecture-of-the-hdf.png differ
diff --git a/support/platform/include/emmc_core.h b/support/platform/include/emmc_core.h
index 55f835f2349555c278087767540aa43e686ee7b0..d6730afb894559c9569dd91f94f16fc5c4ef574a 100644
--- a/support/platform/include/emmc_core.h
+++ b/support/platform/include/emmc_core.h
@@ -6,8 +6,8 @@
* See the LICENSE file in the root of this repository for complete details.
*/
-#ifndef emmc_CORE_H
-#define emmc_CORE_H
+#ifndef EMMC_CORE_H
+#define EMMC_CORE_H
#include "emmc_if.h"
#include "hdf_base.h"
@@ -39,7 +39,7 @@ struct EmmcCntlr {
/**
* @brief emmc host device operations.
- * These methods need to be filled up by specific paltform.
+ * These methods need to be filled up by specific platform.
*/
struct EmmcMethod {
int32_t (*getCid)(struct EmmcCntlr *, uint8_t *, uint32_t);
diff --git a/support/platform/include/plat_common.h b/support/platform/include/plat_common.h
index e10234ec2431e0c0ca364c9dde3415de982bf10b..6610dd5792e29f3ae30c4a760d15a56f942353b0 100644
--- a/support/platform/include/plat_common.h
+++ b/support/platform/include/plat_common.h
@@ -13,4 +13,4 @@
bool PlatInIrqContext(void);
-#endif
+#endif /* PLATFORM_COMMON_H */
diff --git a/support/platform/include/plat_log.h b/support/platform/include/plat_log.h
index 4de73d1960326f974d26f0f937d06ceca370de48..bc2d0671c1c76402f7d3431e3acacbc5ffed4749 100644
--- a/support/platform/include/plat_log.h
+++ b/support/platform/include/plat_log.h
@@ -17,4 +17,4 @@
#define PLAT_LOGV(fmt, arg...) HDF_LOGV(fmt, ##arg)
#endif
-#endif
+#endif /* PLATFORM_LOG_H */
diff --git a/support/platform/include/sdio_core.h b/support/platform/include/sdio_core.h
index 92a8d7cb719c7a79ba0b49eed29decc6b60c3ec0..ef18b6c5cced7bc9b660c8cafe1658e2487a9a75 100644
--- a/support/platform/include/sdio_core.h
+++ b/support/platform/include/sdio_core.h
@@ -38,7 +38,7 @@ struct SdioCntlr {
/**
* @brief sdio host device operations.
- * These methods need to be filled up by specific paltform.
+ * These methods need to be filled up by specific platform.
*/
struct SdioMethod {
int32_t (*incrAddrReadBytes)(struct SdioCntlr *, uint8_t *, uint32_t, uint32_t, uint32_t);
diff --git a/support/platform/include/watchdog_core.h b/support/platform/include/watchdog_core.h
index 43bb1de6db71e59944f38d8568d9474488839728..8462047354638bf5c4c3c880511b700e1d5bcf43 100644
--- a/support/platform/include/watchdog_core.h
+++ b/support/platform/include/watchdog_core.h
@@ -45,7 +45,7 @@ struct WatchdogMethod {
/**
* @brief Add a new WatchdogCntlr to HDF.
*
- * @param cntlr The watchdog conroller to be added.
+ * @param cntlr The watchdog controller to be added.
*
* @return Returns 0 on success; returns a negative value otherwise.
* @since 1.0
diff --git a/support/platform/src/gpio_core.c b/support/platform/src/gpio_core.c
index eaca590784a89825e01babca6197a4365a0459a3..7224aeb2bc448825faf34afb7b75c95e0312c98d 100644
--- a/support/platform/src/gpio_core.c
+++ b/support/platform/src/gpio_core.c
@@ -212,7 +212,7 @@ static int32_t GpioIrqBridgeFunc(uint16_t local, void *data)
(void)local;
(void)OsalSpinLockIrqSave(&bridge->spin, &flags);
- if (bridge->stop == false) {
+ if (!bridge->stop) {
(void)OsalSemPost(&bridge->sem);
}
(void)OsalSpinUnlockIrqRestore(&bridge->spin, &flags);
@@ -230,7 +230,7 @@ static int GpioIrqThreadWorker(void *data)
if (ret != HDF_SUCCESS) {
continue;
}
- if (bridge->stop == true) {
+ if (bridge->stop) {
break;
}
PLAT_LOGV("GpioIrqThreadWorker: enter! gpio:%u-%u", bridge->cntlr->start, bridge->local);
@@ -320,7 +320,7 @@ static void GpioIrqBridgeDestroy(struct GpioIrqBridge *bridge)
#ifndef __KERNEL__
uint32_t flags;
(void)OsalSpinLockIrqSave(&bridge->spin, &flags);
- if (bridge->stop == false) {
+ if (!bridge->stop) {
bridge->stop = true;
(void)OsalSemPost(&bridge->sem);
}
diff --git a/support/platform/src/watchdog_if.c b/support/platform/src/watchdog_if.c
index cf317f5f9b131dd47d84d7e4748a5159860f6365..b67506eef5c5ff143aeeddbb436e61c8661518ea 100644
--- a/support/platform/src/watchdog_if.c
+++ b/support/platform/src/watchdog_if.c
@@ -46,7 +46,6 @@ static struct Watchdog *WatchdogGetById(int16_t wdtId)
return service;
}
-
DevHandle WatchdogOpen(int16_t wdtId)
{
struct Watchdog *service = NULL;
diff --git a/support/posix/src/osal_mutex.c b/support/posix/src/osal_mutex.c
index 8ca6666283bd33fb2b5afabd8de8d166bbefcf7c..6769c92100c6f76397a9b76038cb9c266cb6861a 100644
--- a/support/posix/src/osal_mutex.c
+++ b/support/posix/src/osal_mutex.c
@@ -106,7 +106,7 @@ int32_t OsalMutexTimedLock(struct OsalMutex *mutex, uint32_t ms)
if (ret == ETIMEDOUT) {
return HDF_ERR_TIMEOUT;
} else {
- HDF_LOGE("%s time_out time:%d ret:%d", __func__, ms, ret);
+ HDF_LOGE("%s time_out time:%u ret:%d", __func__, ms, ret);
return HDF_FAILURE;
}
}
diff --git a/support/posix/src/osal_spinlock.c b/support/posix/src/osal_spinlock.c
new file mode 100644
index 0000000000000000000000000000000000000000..695623b837b761c19f969c4c69958397e34073c0
--- /dev/null
+++ b/support/posix/src/osal_spinlock.c
@@ -0,0 +1,108 @@
+/*
+ * Copyright (c) 2021 Huawei Device Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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.
+ */
+
+#include "osal_spinlock.h"
+#include
+#include "hdf_log.h"
+#include "osal_mem.h"
+
+#define HDF_LOG_TAG osal_spinlock
+
+int32_t OsalSpinInit(OsalSpinlock *spinlock)
+{
+ pthread_spinlock_t *spinTmp = NULL;
+ int ret;
+
+ if (spinlock == NULL) {
+ HDF_LOGE("%s invalid param", __func__);
+ return HDF_ERR_INVALID_PARAM;
+ }
+
+ spinlock->realSpinlock = NULL;
+
+ spinTmp = (pthread_spinlock_t *)OsalMemCalloc(sizeof(pthread_spinlock_t));
+ if (spinTmp == NULL) {
+ HDF_LOGE("malloc fail");
+ return HDF_ERR_MALLOC_FAIL;
+ }
+
+ ret = pthread_spin_init(spinTmp, PTHREAD_PROCESS_PRIVATE);
+ if (ret != 0) {
+ HDF_LOGE("pthread_spin_init fail %d %d", ret, __LINE__);
+ OsalMemFree(spinTmp);
+ return HDF_FAILURE;
+ }
+ spinlock->realSpinlock = (void *)spinTmp;
+
+ return HDF_SUCCESS;
+}
+
+int32_t OsalSpinDestroy(OsalSpinlock *spinlock)
+{
+ int ret;
+
+ if (spinlock == NULL || spinlock->realSpinlock == NULL) {
+ HDF_LOGE("%s invalid param", __func__);
+ return HDF_ERR_INVALID_PARAM;
+ }
+
+ ret = pthread_spin_destroy((pthread_spinlock_t *)spinlock->realSpinlock);
+ if (ret != 0) {
+ HDF_LOGE("pthread_spin_destroy fail %d %d", ret, __LINE__);
+ return HDF_FAILURE;
+ }
+
+ OsalMemFree(spinlock->realSpinlock);
+ spinlock->realSpinlock = NULL;
+
+ return HDF_SUCCESS;
+}
+
+int32_t OsalSpinLock(OsalSpinlock *spinlock)
+{
+ int ret;
+
+ if (spinlock == NULL || spinlock->realSpinlock == NULL) {
+ HDF_LOGE("%s invalid param", __func__);
+ return HDF_ERR_INVALID_PARAM;
+ }
+
+ ret = pthread_spin_lock((pthread_spinlock_t *)spinlock->realSpinlock);
+ if (ret != 0) {
+ HDF_LOGE("pthread_spin_lock fail %d %d", ret, __LINE__);
+ return HDF_FAILURE;
+ }
+
+ return HDF_SUCCESS;
+}
+
+int32_t OsalSpinUnlock(OsalSpinlock *spinlock)
+{
+ int ret;
+
+ if (spinlock == NULL || spinlock->realSpinlock == NULL) {
+ HDF_LOGE("%s invalid param", __func__);
+ return HDF_ERR_INVALID_PARAM;
+ }
+
+ ret = pthread_spin_unlock((pthread_spinlock_t *)spinlock->realSpinlock);
+ if (ret != 0) {
+ HDF_LOGE("pthread_spin_unlock fail %d %d", ret, __LINE__);
+ return HDF_FAILURE;
+ }
+
+ return HDF_SUCCESS;
+}
+
diff --git a/support/posix/src/osal_thread.c b/support/posix/src/osal_thread.c
index fc621b4201f4811b2a113a45f8312094d082d439..4fcfce157f1e28979066ad3c470cb015f77956b3 100644
--- a/support/posix/src/osal_thread.c
+++ b/support/posix/src/osal_thread.c
@@ -12,7 +12,11 @@
#include "hdf_log.h"
#include "osal_mem.h"
+#ifndef PTHREAD_STACK_MIN
#define OSAL_PTHREAD_STACK_MIN 4096
+#else
+#define OSAL_PTHREAD_STACK_MIN PTHREAD_STACK_MIN
+#endif
#define HDF_LOG_TAG osal_thread
diff --git a/test/unittest/ability/config/hcs_parser/unittest/hcs_config_test.c b/test/unittest/ability/config/hcs_parser/unittest/hcs_config_test.c
index 654698f27c11b6928fb496cf84b3acab02404592..cb2ea0c128d98d62726e0ccba3ab9b63df0676d5 100644
--- a/test/unittest/ability/config/hcs_parser/unittest/hcs_config_test.c
+++ b/test/unittest/ability/config/hcs_parser/unittest/hcs_config_test.c
@@ -258,7 +258,7 @@ int HcsTestGetUint8ArrayElemSuccess(void)
{
uint8_t data[DATA_TEST_ARRAY_LENGTH] = { 0 };
// the test data is 0, 1, 2, 3, 4, 5, 6, 7.
- uint8_t testData[DATA_TEST_ARRAY_LENGTH] = {0, 1, 2, 3, 4, 5, 6, 7};
+ uint8_t testData[DATA_TEST_ARRAY_LENGTH] = { 0, 1, 2, 3, 4, 5, 6, 7 };
uint32_t i;
if (!TestGetRootNode()) {
return HDF_FAILURE;
@@ -272,7 +272,7 @@ int HcsTestGetUint8ArrayElemSuccess(void)
int32_t ret = g_devResInstance->GetUint8ArrayElem(dataType, TEST_U8_ELEM_DATA, i, &data[i],
DEFAULT_UINT8_MAX);
if ((ret != HDF_SUCCESS) || (data[i] != testData[i])) {
- HDF_LOGE("%s failed, line: %d, ret = %d, i = %d, data = %u", __FUNCTION__, __LINE__, ret, i, data[i]);
+ HDF_LOGE("%s failed, line: %d, ret = %d, i = %u, data = %u", __FUNCTION__, __LINE__, ret, i, data[i]);
return HDF_FAILURE;
}
}
@@ -303,7 +303,7 @@ int HcsTestGetUint8ArrayElemFail(void)
for (i = 0; i < count; i++) {
ret = g_devResInstance->GetUint8ArrayElem(dataType, READ_FOUR_DATA_TYPE, i, &data1[i], DEFAULT_UINT8_MAX);
}
- // the 0~3 represents the loction in array.
+ // the 0~3 represents the location in array.
if ((ret == HDF_SUCCESS) || (data1[0] != U8_DATA) || (data1[1] != DEFAULT_UINT8_MAX) ||
(data1[2] != DEFAULT_UINT8_MAX) || (data1[3] != DEFAULT_UINT8_MAX)) {
HDF_LOGE("%s failed, line: %d, ret = %d, data = %x", __FUNCTION__, __LINE__, ret, data);
@@ -321,7 +321,7 @@ int HcsTestGetUint8ArraySuccess(void)
const struct DeviceResourceNode *dataType = g_devResInstance->GetNodeByMatchAttr(g_testRoot, HW_DATA_TYPE_TEST);
int32_t ret = g_devResInstance->GetUint8Array(dataType, TEST_U8_ELEM_DATA, data, DATA_TEST_ARRAY_LENGTH,
DEFAULT_UINT8_MAX);
- // the 0~7 represents the loction in array or the value in hcs file.
+ // the 0~7 represents the location in array or the value in hcs file.
if ((ret != HDF_SUCCESS) || (data[0] != 0) || (data[1] != 1) || (data[2] != 2) || (data[3] != 3) || (data[4] != 4)
|| (data[5] != 5) || (data[6] != 6) || (data[7] != 7)) {
return HDF_FAILURE;
@@ -337,13 +337,13 @@ int HcsTestGetUint8ArrayFail(void)
}
const struct DeviceResourceNode *dataType = g_devResInstance->GetNodeByMatchAttr(g_testRoot, HW_DATA_TYPE_TEST);
int32_t ret = g_devResInstance->GetUint8Array(dataType, READ_FOUR_DATA_TYPE, data, 0, DEFAULT_UINT8_MAX);
- // the 0, 1, 2 represents the loction in array, the 0 of second param is defalut value.
+ // the 0, 1, 2 represents the location in array, the 0 of second param is default value.
if ((ret == HDF_SUCCESS) || (data[0] != 0) || (data[1] != 0) || (data[2] != 0)) {
return HDF_FAILURE;
}
ret = g_devResInstance->GetUint8Array(dataType, READ_FOUR_DATA_TYPE, data, DATA_TYPE_NUM_U64 + 1,
DEFAULT_UINT8_MAX);
- // the 0, 1, 2, 3, 4 represents the loction in array
+ // the 0, 1, 2, 3, 4 represents the location in array
if ((ret == HDF_SUCCESS) || (data[0] != U8_DATA) || (data[1] != DEFAULT_UINT8_MAX) || (data[2] != DEFAULT_UINT8_MAX)
|| (data[3] != DEFAULT_UINT8_MAX) || (data[4] != DEFAULT_UINT8_MAX)) {
return HDF_FAILURE;
@@ -402,7 +402,7 @@ int HcsTestGetUint16ArrayElemSuccess(void)
// the length of data is 8.
uint16_t data[DATA_TEST_ARRAY_LENGTH] = { 0 };
// the test data is 0, 1, 2, 3, 4, 5, 256, 257.
- uint16_t testData[DATA_TEST_ARRAY_LENGTH] = {0, 1, 2, 3, 4, 5, 256, 257};
+ uint16_t testData[DATA_TEST_ARRAY_LENGTH] = { 0, 1, 2, 3, 4, 5, 256, 257 };
uint32_t i;
if (!TestGetRootNode()) {
return HDF_FAILURE;
@@ -444,7 +444,7 @@ int HcsTestGetUint16ArrayElemFail(void)
for (i = 0; i < count; i++) {
ret = g_devResInstance->GetUint16ArrayElem(dataType, READ_FOUR_DATA_TYPE, i, &data1[i], DEFAULT_UINT16_MAX);
}
- // the 0~3 represents the loction in array.
+ // the 0~3 represents the location in array.
if ((ret == HDF_SUCCESS) || (data1[0] != U8_DATA) || (data1[1] != U16_DATA) || (data1[2] != DEFAULT_UINT16_MAX) ||
(data1[3] != DEFAULT_UINT16_MAX)) {
return HDF_FAILURE;
@@ -461,7 +461,7 @@ int HcsTestGetUint16ArraySuccess(void)
const struct DeviceResourceNode *dataType = g_devResInstance->GetNodeByMatchAttr(g_testRoot, HW_DATA_TYPE_TEST);
int32_t ret = g_devResInstance->GetUint16Array(dataType, TEST_U16_ELEM_DATA, data, DATA_TEST_ARRAY_LENGTH,
DEFAULT_UINT16_MAX);
- // the data[0~7] represents the loction in array, the test data is 0, 1, 2, 3, 4, 5, 256, 257.
+ // the data[0~7] represents the location in array, the test data is 0, 1, 2, 3, 4, 5, 256, 257.
if ((ret != HDF_SUCCESS) || (data[0] != 0) || (data[1] != 1) || (data[2] != 2) || (data[3] != 3) || (data[4] != 4)
|| (data[5] != 5) || (data[6] != 256) || (data[7] != 257)) {
return HDF_FAILURE;
@@ -477,13 +477,13 @@ int HcsTestGetUint16ArrayFail(void)
}
const struct DeviceResourceNode *dataType = g_devResInstance->GetNodeByMatchAttr(g_testRoot, HW_DATA_TYPE_TEST);
int32_t ret = g_devResInstance->GetUint16Array(dataType, READ_FOUR_DATA_TYPE, data, 0, DEFAULT_UINT16_MAX);
- // the 0, 1, 2 represents the loction in array, the 0 of second param is defalut value.
+ // the 0, 1, 2 represents the location in array, the 0 of second param is default value.
if ((ret == HDF_SUCCESS) || (data[0] != 0) || (data[1] != 0) || (data[2] != 0)) {
return HDF_FAILURE;
}
ret = g_devResInstance->GetUint16Array(dataType, READ_FOUR_DATA_TYPE, data, DATA_TYPE_NUM_U64 + 1,
DEFAULT_UINT16_MAX);
- // the 0, 1, 2, 3, 4 represents the loction in array
+ // the 0, 1, 2, 3, 4 represents the location in array
if ((ret == HDF_SUCCESS) || (data[0] != U8_DATA) || (data[1] != U16_DATA) || (data[2] != DEFAULT_UINT16_MAX)
|| (data[3] != DEFAULT_UINT16_MAX) || (data[4] != DEFAULT_UINT16_MAX)) {
return HDF_FAILURE;
@@ -537,7 +537,7 @@ int HcsTestGetUint32AttrValueFail(void)
int HcsTestGetUint32ArrayElemSuccess(void)
{
uint32_t data[DATA_TYPE_NUM_U32] = { 0 };
- uint32_t testData[DATA_TYPE_NUM_U32] = {U8_DATA, U16_DATA, U32_DATA};
+ uint32_t testData[DATA_TYPE_NUM_U32] = { U8_DATA, U16_DATA, U32_DATA };
int32_t i;
if (!TestGetRootNode()) {
return HDF_FAILURE;
@@ -578,7 +578,7 @@ int HcsTestGetUint32ArraySuccess(void)
return HDF_FAILURE;
}
int32_t ret = g_devResInstance->GetUint32Array(g_testRoot, BOARD_ID, data, BOARDID_LENGTH, DEFAULT_UINT32_MAX);
- // the 0, 1 represents the loction in array.
+ // the 0, 1 represents the location in array.
if ((ret != HDF_SUCCESS) || (data[0] != U32_DATA) || (data[1] != U16_DATA)) {
return HDF_FAILURE;
}
@@ -592,12 +592,12 @@ int HcsTestGetUint32ArrayFail(void)
return HDF_FAILURE;
}
int32_t ret = g_devResInstance->GetUint32Array(g_testRoot, BOARD_ID, data, 0, DEFAULT_UINT32_MAX);
- // the 0, 1, 2 represents the loction in array, the 0 of second param is defalut value.
+ // the 0, 1, 2 represents the location in array, the 0 of second param is default value.
if ((ret == HDF_SUCCESS) || (data[0] != 0) || (data[1] != 0) || (data[2] != 0)) {
return HDF_FAILURE;
}
ret = g_devResInstance->GetUint32Array(g_testRoot, BOARD_ID, data, DATA_TYPE_NUM_U32, DEFAULT_UINT32_MAX);
- // the 0, 1, 2 represents the loction in array
+ // the 0, 1, 2 represents the location in array
if ((ret == HDF_SUCCESS) || (data[0] != U32_DATA) || (data[1] != U16_DATA) || (data[2] != DEFAULT_UINT32_MAX)) {
return HDF_FAILURE;
}
@@ -655,7 +655,7 @@ int HcsTestGetUint64AttrValueFail(void)
int HcsTestGetUint64ArrayElemSuccess(void)
{
uint64_t data[DATA_TYPE_NUM_U64] = { 0 };
- uint64_t testData[DATA_TYPE_NUM_U64] = {U8_DATA, U16_DATA, U32_DATA, U64_DATA};
+ uint64_t testData[DATA_TYPE_NUM_U64] = { U8_DATA, U16_DATA, U32_DATA, U64_DATA };
uint32_t i;
if (!TestGetRootNode()) {
return HDF_FAILURE;
@@ -699,7 +699,7 @@ int HcsTestGetUint64ArraySuccess(void)
const struct DeviceResourceNode *dataType = g_devResInstance->GetNodeByMatchAttr(g_testRoot, HW_DATA_TYPE_TEST);
int32_t ret = g_devResInstance->GetUint64Array(dataType, READ_FOUR_DATA_TYPE, data, DATA_TYPE_NUM_U64,
DEFAULT_UINT64_MAX);
- // the 0, 1, 2 represents the loction in array.
+ // the 0, 1, 2 represents the location in array.
if ((ret != HDF_SUCCESS) || (data[0] != U8_DATA) || (data[1] != U16_DATA) || (data[2] != U32_DATA) ||
(data[3] != U64_DATA)) {
return HDF_FAILURE;
@@ -715,13 +715,13 @@ int HcsTestGetUint64ArrayFail(void)
}
const struct DeviceResourceNode *dataType = g_devResInstance->GetNodeByMatchAttr(g_testRoot, HW_DATA_TYPE_TEST);
int32_t ret = g_devResInstance->GetUint64Array(dataType, READ_FOUR_DATA_TYPE, data, 0, DEFAULT_UINT64_MAX);
- // the 0, 1, 2 represents the loction in array, the 0 of second param is defalut value.
+ // the 0, 1, 2 represents the location in array, the 0 of second param is default value.
if ((ret == HDF_SUCCESS) || (data[0] != 0) || (data[1] != 0) || (data[2] != 0)) {
return HDF_FAILURE;
}
ret = g_devResInstance->GetUint64Array(dataType, READ_FOUR_DATA_TYPE, data, DATA_TYPE_NUM_U64 + 1,
DEFAULT_UINT64_MAX);
- // the 0, 1, 2, 3, 4 represents the loction in array
+ // the 0, 1, 2, 3, 4 represents the location in array
if ((ret == HDF_SUCCESS) || (data[0] != U8_DATA) || (data[1] != U16_DATA) || (data[2] != U32_DATA)
|| (data[3] != U64_DATA) || (data[4] != DEFAULT_UINT64_MAX)) {
return HDF_FAILURE;
@@ -865,7 +865,7 @@ int HcsTestTraverseAttrInNodeFail(void)
const struct DeviceResourceNode *childNode = NULL;
DEV_RES_NODE_FOR_EACH_CHILD_NODE(fingerprintNode, childNode) {
- if (childNode == NULL) {
+ if ((childNode == NULL) || (childNode->name == NULL)) {
break;
}
if ((strcmp(childNode->name, "fingerprint_one") == 0) || (strcmp(childNode->name, "fingerprint_two") == 0)) {
@@ -886,9 +886,9 @@ int HcsTestGetStringSuccess(void)
return HDF_FAILURE;
}
const struct DeviceResourceNode *audioNode = g_devResInstance->GetNodeByMatchAttr(g_testRoot, HW_AUDIO_INFO);
- const char *ptype = NULL;
- int32_t readString = g_devResInstance->GetString(audioNode, "cust_name", &ptype, NULL);
- if ((readString != HDF_SUCCESS) || (ptype == NULL) || (strcmp(ptype, "audio_custom_v2") != HDF_SUCCESS)) {
+ const char *type = NULL;
+ int32_t readString = g_devResInstance->GetString(audioNode, "cust_name", &type, NULL);
+ if ((readString != HDF_SUCCESS) || (type == NULL) || (strcmp(type, "audio_custom_v2") != HDF_SUCCESS)) {
return HDF_FAILURE;
}
return HDF_SUCCESS;
@@ -900,17 +900,17 @@ int HcsTestGetStringFail(void)
return HDF_FAILURE;
}
const struct DeviceResourceNode *audioNode = g_devResInstance->GetNodeByMatchAttr(g_testRoot, HW_AUDIO_INFO);
- const char *ptype = NULL;
- int32_t testReadString = g_devResInstance->GetString(audioNode, INVALID_STRING, &ptype, STRING_ATTR_VALUE);
- if ((testReadString == HDF_SUCCESS) || (ptype == NULL) || (strcmp(ptype, STRING_ATTR_VALUE) != HDF_SUCCESS)) {
+ const char *type = NULL;
+ int32_t testReadString = g_devResInstance->GetString(audioNode, INVALID_STRING, &type, STRING_ATTR_VALUE);
+ if ((testReadString == HDF_SUCCESS) || (type == NULL) || (strcmp(type, STRING_ATTR_VALUE) != HDF_SUCCESS)) {
return HDF_FAILURE;
}
testReadString = g_devResInstance->GetString(audioNode, INVALID_STRING, NULL, STRING_ATTR_VALUE);
- if ((testReadString == HDF_SUCCESS) || (ptype == NULL) || (strcmp(ptype, STRING_ATTR_VALUE) != HDF_SUCCESS)) {
+ if ((testReadString == HDF_SUCCESS) || (type == NULL) || (strcmp(type, STRING_ATTR_VALUE) != HDF_SUCCESS)) {
return HDF_FAILURE;
}
- testReadString = g_devResInstance->GetString(audioNode, INVALID_STRING, &ptype, NULL);
- if (testReadString == HDF_SUCCESS || ptype != NULL) {
+ testReadString = g_devResInstance->GetString(audioNode, INVALID_STRING, &type, NULL);
+ if ((testReadString == HDF_SUCCESS) || (type != NULL)) {
return HDF_FAILURE;
}
return HDF_SUCCESS;
@@ -923,17 +923,17 @@ int HcsTestGetStringArrayElemSuccess(void)
}
const char *rawDataDts = NULL;
const struct DeviceResourceNode *fingerprintNode = g_devResInstance->GetChildNode(g_testRoot, FINGERPRINT_INFO);
- // the third param is the loction in string_list_names array.
+ // the third param(0) is the location in string_list_names array.
int32_t ret = g_devResInstance->GetStringArrayElem(fingerprintNode, STRING_LIST_NAMES, 0, &rawDataDts, NULL);
if ((ret != HDF_SUCCESS) || (strcmp(rawDataDts, "first") != HDF_SUCCESS)) {
return HDF_FAILURE;
}
- // the third param is the loction in string_list_names array.
+ // the third param(1) is the location in string_list_names array.
ret = g_devResInstance->GetStringArrayElem(fingerprintNode, STRING_LIST_NAMES, 1, &rawDataDts, NULL);
if ((ret != HDF_SUCCESS) || (strcmp(rawDataDts, "second") != HDF_SUCCESS)) {
return HDF_FAILURE;
}
- // the second param is 2, indicates the index, the third param is the loction in string_list_names array.
+ // the third param(2) is the location in string_list_names array.
ret = g_devResInstance->GetStringArrayElem(fingerprintNode, STRING_LIST_NAMES, 2, &rawDataDts, NULL);
if ((ret != HDF_SUCCESS) || (strcmp(rawDataDts, "third") != HDF_SUCCESS)) {
return HDF_FAILURE;
@@ -948,14 +948,14 @@ int HcsTestGetStringArrayElemFail(void)
}
const char *rawDataDts = NULL;
const struct DeviceResourceNode *fingerprintNode = g_devResInstance->GetChildNode(g_testRoot, FINGERPRINT_INFO);
- // the third param(3) is the loction in string_list_names array.
+ // the third param(3) is the location in string_list_names array.
int32_t ret = g_devResInstance->GetStringArrayElem(fingerprintNode, STRING_LIST_NAMES, 3, &rawDataDts,
STRING_ATTR_VALUE);
if ((ret == HDF_SUCCESS) || (strcmp(rawDataDts, STRING_ATTR_VALUE) != HDF_SUCCESS)) {
return HDF_FAILURE;
}
- // the third param(1) is the loction in string_list_names array.
+ // the third param(1) is the location in string_list_names array.
ret = g_devResInstance->GetStringArrayElem(fingerprintNode, READ_U32_INDEX, 1, &rawDataDts, STRING_ATTR_VALUE);
if ((ret == HDF_SUCCESS) || (strcmp(rawDataDts, STRING_ATTR_VALUE) != HDF_SUCCESS)) {
return HDF_FAILURE;
diff --git a/test/unittest/common/hdf_common_test.c b/test/unittest/common/hdf_common_test.c
index d3c9cf8bbcafa298a689c80df0b43a397a9f3255..075d51a3b3d3247d5e813d27003061867c4739d4 100644
--- a/test/unittest/common/hdf_common_test.c
+++ b/test/unittest/common/hdf_common_test.c
@@ -69,7 +69,7 @@ int HdfTestSendMsgToService(struct HdfTestMsg *msg)
}
if (!HdfSbufReadBuffer(g_reply, (const void **)&testReply, &len)) {
- printf("HdfTestSendMsgToService g_reply read failed\n\r");
+ printf("HdfTestSendMsgToService g_reply read failed\n\r");
}
if (testReply == NULL) {
diff --git a/test/unittest/common/hdf_main_test.c b/test/unittest/common/hdf_main_test.c
index 039fe902672731ddb72588f3786b1174d045e238..ee5e40088fafcf3bb98fb10c61ffdc9542d3fd0c 100644
--- a/test/unittest/common/hdf_main_test.c
+++ b/test/unittest/common/hdf_main_test.c
@@ -127,7 +127,7 @@ static int32_t HdfTestCaseProcess(struct HdfDeviceIoClient *client,
replyMsg.cmd = msg->cmd;
replyMsg.subCmd = msg->subCmd;
- HDF_LOGE("%s::Hdf test receive cmd: command[%d], subCommand[%d]", __func__, msg->cmd, msg->subCmd);
+ HDF_LOGE("%s::Hdf test receive cmd: command[%u], subCommand[%u]", __func__, msg->cmd, msg->subCmd);
replyMsg.result = HDF_FAILURE;
for (i = 0; i < sizeof(g_hdfTestFuncList) / sizeof(g_hdfTestFuncList[0]); ++i) {
diff --git a/test/unittest/manager/sample_driver_test.c b/test/unittest/manager/sample_driver_test.c
index eac190dce7883cdac65d58c9b128df49884f20b5..bf69825f9ae5c655b39f80a63d4d7b6215a313d8 100644
--- a/test/unittest/manager/sample_driver_test.c
+++ b/test/unittest/manager/sample_driver_test.c
@@ -12,12 +12,10 @@
#define HDF_LOG_TAG sample_driver_test
-#define SAMPLE_WRITE_READ 123
#ifndef INT32_MAX
#define INT32_MAX 0x7fffffff
#endif
-
void HdfSampleDriverRelease(struct HdfDeviceObject *deviceObject)
{
(void)deviceObject;
diff --git a/test/unittest/model/network/wifi/unittest/net/hdf_netbuf_test.c b/test/unittest/model/network/wifi/unittest/net/hdf_netbuf_test.c
index 76c57ff639e4f465842b7aec4fa20fddde91ffbf..e82ab80d54e1727dcd8f988b873e862f5f4da7cc 100644
--- a/test/unittest/model/network/wifi/unittest/net/hdf_netbuf_test.c
+++ b/test/unittest/model/network/wifi/unittest/net/hdf_netbuf_test.c
@@ -860,7 +860,7 @@ pTestCaseFunc g_hdfNetBufQueueTestCaseLists[] = {
HdfNetBufQueueTest009,
};
-// HDFNetBuf test canse Entry
+// HDFNetBuf test case Entry
int32_t HdfNetBufTest(void)
{
int32_t ret, i;
@@ -879,7 +879,7 @@ int32_t HdfNetBufTest(void)
return HDF_SUCCESS;
}
-// HdfNetBufQueue test canse Entry
+// HdfNetBufQueue test case Entry
int32_t HdfNetBufQueueTest(void)
{
int32_t ret, i;
diff --git a/test/unittest/model/network/wifi/unittest/netdevice/net_device_test.c b/test/unittest/model/network/wifi/unittest/netdevice/net_device_test.c
index d44f003677c5592731d970f39e516d866c0f5830..5d47a211d79946c398dfbf03af338f3195fb6477 100644
--- a/test/unittest/model/network/wifi/unittest/netdevice/net_device_test.c
+++ b/test/unittest/model/network/wifi/unittest/netdevice/net_device_test.c
@@ -21,7 +21,10 @@ static bool WiFiNetDeviceTestEnv(void)
{
if (g_netDevice == NULL) {
char devName[IFNAMSIZ] = {0};
- strncpy_s(devName, IFNAMSIZ, "wlan_test_0", strlen("wlan_test_0") + 1);
+ if (strncpy_s(devName, IFNAMSIZ, "wlan_test_0", strlen("wlan_test_0") + 1) != EOK) {
+ HDF_LOGE("%s: strcpy_s fail", __func__);
+ return false;
+ }
g_netDevice = NetDeviceInit(devName, strlen(devName), LITE_OS);
if (g_netDevice == NULL) {
HDF_LOGE("%s fail ", __func__);
@@ -117,6 +120,7 @@ int32_t WiFiNetDviceTestSetAddr(void)
int32_t WiFiNetDviceTestRx(void)
{
NetBuf *buff = NULL;
+
int count = sizeof(g_filterData);
buff = NetBufAlloc(count);
if (buff == NULL) {
diff --git a/test/unittest/model/network/wifi/unittest/qos/flow_control_test.c b/test/unittest/model/network/wifi/unittest/qos/flow_control_test.c
index 1a4a0ba27a83c9cc74c2cff6143501e17b684412..3b880ebf6de9acca7ab640841257d12a0ded1418 100644
--- a/test/unittest/model/network/wifi/unittest/qos/flow_control_test.c
+++ b/test/unittest/model/network/wifi/unittest/qos/flow_control_test.c
@@ -154,7 +154,7 @@ int32_t WiFiFlowControlTestSendData(void)
return HDF_FAILURE;
}
if (g_flowControlInstance->interface == NULL) {
- HDF_LOGE("%s interface =null!", __func__);
+ HDF_LOGE("%s interface = null!", __func__);
return HDF_FAILURE;
}
id = g_flowControlInstance->interface->getQueueIdByEtherBuff(buff);
diff --git a/test/unittest/osal/osal_all_test.c b/test/unittest/osal/osal_all_test.c
index 1efe4a734c6d2b5934c5fb7becfa255eab53f434..2fa37275be75943f81221ecfd7b75a5ee65f3298 100644
--- a/test/unittest/osal/osal_all_test.c
+++ b/test/unittest/osal/osal_all_test.c
@@ -158,7 +158,7 @@ int ThreadTest2(void *arg)
OsalGetTime(&hdfTs2);
OsalDiffTime(&hdfTs1, &hdfTs2, &hdfTsDiff);
if (cnt % HDF_THREAD_TEST_MUX_CNT == 0) {
- HDF_LOGE("%s %ds %dus", __func__,
+ HDF_LOGE("%s %us %uus", __func__,
(uint32_t)hdfTsDiff.sec, (uint32_t)hdfTsDiff.usec);
}
if (g_testEndFlag) {
@@ -345,7 +345,7 @@ static void OsaFWTest(int flag)
(void)memset_s(&fw, sizeof(fw), 0, sizeof(fw));
ret = OsalRequestFirmware(&fw, name, NULL);
UT_TEST_CHECK_RET(ret != HDF_SUCCESS, OSAL_FW_REQUEST);
- HDF_LOGE("%s %d", name, fw.fwSize);
+ HDF_LOGE("%s %u", name, fw.fwSize);
(void)memset_s(&block, sizeof(block), 0, sizeof(block));
ret = OsalReadFirmware(&fw, &block);
@@ -355,10 +355,10 @@ static void OsaFWTest(int flag)
#if defined(__LITEOS__)
ret = OsalSeekFirmware(&fw, HDF_FILE_SEEK_TEST);
UT_TEST_CHECK_RET(ret != HDF_SUCCESS, OSAL_FW_SEEK);
- HDF_LOGE("%s %d %d", name, block.dataSize, block.curOffset);
+ HDF_LOGE("%s %u %d", name, block.dataSize, block.curOffset);
ret = OsalReadFirmware(&fw, &block);
UT_TEST_CHECK_RET(ret != HDF_SUCCESS, OSAL_FW_READ);
- HDF_LOGE("%s %d %d", name, block.dataSize, block.curOffset);
+ HDF_LOGE("%s %u %d", name, block.dataSize, block.curOffset);
fwBuf += HDF_FILE_SEEK_TEST;
UT_TEST_CHECK_RET(memcmp(block.data, fwBuf, block.dataSize) != 0, OSAL_FW_DATA_CHECK);
#endif
@@ -367,8 +367,6 @@ static void OsaFWTest(int flag)
ret = OsalReadFirmware(&fw, &block);
UT_TEST_CHECK_RET(ret == HDF_SUCCESS, OSAL_FW_READ_AFTER_RELEASE);
HDF_LOGE("[OSAL_UT_TEST]%s end", __func__);
-
- return;
}
#define THREAD_TEST_TIMER_RUN 20
@@ -542,8 +540,6 @@ void OsaThreadTest1(void)
UT_TEST_CHECK_RET(ret != HDF_SUCCESS, OSAL_THREAD_CREATE);
ret = OsalThreadStart(&thread, &threadCfg);
UT_TEST_CHECK_RET(ret != HDF_SUCCESS, OSAL_THREAD_CREATE);
-
- return;
}
void OsaThreadTest(void)
@@ -601,27 +597,27 @@ static void OsaTimeTest(void)
ret = OsalGetTime(&hdfTs2);
UT_TEST_CHECK_RET(ret != HDF_SUCCESS, OSAL_TIME_GETTIME);
ret = OsalDiffTime(&hdfTs, &hdfTs2, &hdfTsDiff);
- HDF_LOGE("%s %ds %dus", __func__, (uint32_t)hdfTsDiff.sec, (uint32_t)hdfTsDiff.usec);
+ HDF_LOGE("%s %us %uus", __func__, (uint32_t)hdfTsDiff.sec, (uint32_t)hdfTsDiff.usec);
UT_TEST_CHECK_RET(!OsalCheckTime(&hdfTsDiff, TIME_TEST_SLEEP_S * HDF_KILO_UNIT), OSAL_TIME_DIFFTIME);
OsalGetTime(&hdfTs);
OsalUDelay(TIME_TEST_SLEEP_MS);
(void)OsalGetTime(&hdfTs2);
(void)OsalDiffTime(&hdfTs, &hdfTs2, &hdfTsDiff);
- HDF_LOGE("%s %ds %dus", __func__, (uint32_t)hdfTsDiff.sec, (uint32_t)hdfTsDiff.usec);
+ HDF_LOGE("%s %us %uus", __func__, (uint32_t)hdfTsDiff.sec, (uint32_t)hdfTsDiff.usec);
OsalGetTime(&hdfTs);
OsalMDelay(TIME_TEST_SLEEP_MS);
(void)OsalGetTime(&hdfTs2);
(void)OsalDiffTime(&hdfTs, &hdfTs2, &hdfTsDiff);
- HDF_LOGE("%s %ds %dus", __func__, (uint32_t)hdfTsDiff.sec, (uint32_t)hdfTsDiff.usec);
+ HDF_LOGE("%s %us %uus", __func__, (uint32_t)hdfTsDiff.sec, (uint32_t)hdfTsDiff.usec);
OsalGetTime(&hdfTs);
OsalMSleep(TIME_TEST_SLEEP_MS);
ret = OsalGetTime(&hdfTs2);
UT_TEST_CHECK_RET(ret != HDF_SUCCESS, OSAL_TIME_GETTIME);
ret = OsalDiffTime(&hdfTs, &hdfTs2, &hdfTsDiff);
- HDF_LOGE("%s %ds %dus", __func__, (uint32_t)hdfTsDiff.sec, (uint32_t)hdfTsDiff.usec);
+ HDF_LOGE("%s %us %uus", __func__, (uint32_t)hdfTsDiff.sec, (uint32_t)hdfTsDiff.usec);
UT_TEST_CHECK_RET(ret != HDF_SUCCESS, OSAL_TIME_DIFFTIME);
UT_TEST_CHECK_RET(!OsalCheckTime(&hdfTsDiff, TIME_TEST_SLEEP_MS), OSAL_TIME_DIFFTIME);
}
diff --git a/test/unittest/osal/osal_get_case_test.c b/test/unittest/osal/osal_get_case_test.c
index 4a2db735043abc945b616869c0abb5bb48a6167e..25b87dffa7747332a45816b7e2f41fdf305c43cf 100644
--- a/test/unittest/osal/osal_get_case_test.c
+++ b/test/unittest/osal/osal_get_case_test.c
@@ -11,7 +11,7 @@
int OsalGetTestResult(uint32_t cmd)
{
- HDF_LOGD("[OSAL_UT_TEST]%s %d start", __func__, cmd);
+ HDF_LOGD("[OSAL_UT_TEST]%s %u start", __func__, cmd);
return OSAL_TEST_CASE_CHECK(cmd);
}
diff --git a/test/unittest/osal/osal_test_entry.c b/test/unittest/osal/osal_test_entry.c
index c53b3303096a1a1c9e2c44b0cfff50dd16033e9f..922e2f527c0a9d63b107c4bf99dc1f78ab380580 100644
--- a/test/unittest/osal/osal_test_entry.c
+++ b/test/unittest/osal/osal_test_entry.c
@@ -29,7 +29,7 @@ int32_t HdfOsalEntry(HdfTestMsg *msg)
return HDF_FAILURE;
}
- HDF_LOGD("HdfTest:osal test result[%s-%d %d]", ((result != 0) ? "failed" : "pass"), result, msg->subCmd);
+ HDF_LOGD("HdfTest:osal test result[%s-%d %u]", ((result != 0) ? "failed" : "pass"), result, msg->subCmd);
msg->result = (result != 0) ? HDF_FAILURE : HDF_SUCCESS;
return HDF_SUCCESS;
diff --git a/test/unittest/platform/common/emmc_test.c b/test/unittest/platform/common/emmc_test.c
index 02dc29db6de2d4626ea57084a65b106a39046423..9aaab3e40ac0dc04f2af7e510818547f0a2e454b 100644
--- a/test/unittest/platform/common/emmc_test.c
+++ b/test/unittest/platform/common/emmc_test.c
@@ -46,7 +46,7 @@ static int32_t TestEmmcGetCid(struct EmmcTester *tester)
ret = EmmcGetCid(tester->handle, cid, EMMC_CID_LEN);
if (ret != HDF_SUCCESS) {
- HDF_LOGE("%s: EmmcGetCid fail! ret=%d.", __func__, ret);
+ HDF_LOGE("%s: EmmcGetCid failed ret=%d.", __func__, ret);
return HDF_FAILURE;
}
for (i = 0; i < EMMC_CID_LEN; i++) {
@@ -62,7 +62,7 @@ struct EmmcTestFunc g_emmcTestFunc[] = {
static int32_t EmmcTestEntry(struct EmmcTester *tester, int32_t cmd)
{
int32_t i;
- int32_t ret;
+ int32_t ret = HDF_SUCCESS;
bool isFind = false;
if (tester == NULL) {
@@ -71,7 +71,7 @@ static int32_t EmmcTestEntry(struct EmmcTester *tester, int32_t cmd)
}
tester->handle = EmmcTestGetHandle(tester);
if (tester->handle == NULL) {
- HDF_LOGE("%s: emmc test get handle fail", __func__);
+ HDF_LOGE("%s: emmc test get handle failed", __func__);
return HDF_FAILURE;
}
for (i = 0; i < sizeof(g_emmcTestFunc) / sizeof(g_emmcTestFunc[0]); i++) {
@@ -81,9 +81,9 @@ static int32_t EmmcTestEntry(struct EmmcTester *tester, int32_t cmd)
break;
}
}
- if (isFind == false) {
+ if (!isFind) {
ret = HDF_ERR_NOT_SUPPORT;
- HDF_LOGE("%s: cmd %d not support", __func__, cmd);
+ HDF_LOGE("%s: cmd %d not supported", __func__, cmd);
}
EmmcTestReleaseHandle(tester->handle);
return ret;
@@ -96,19 +96,19 @@ static int32_t EmmcTestFillConfig(struct EmmcTester *tester, const struct Device
drsOps = DeviceResourceGetIfaceInstance(HDF_CONFIG_SOURCE);
if (drsOps == NULL || drsOps->GetUint32 == NULL) {
- HDF_LOGE("%s: invalid drs ops fail!", __func__);
+ HDF_LOGE("%s: invalid drs ops", __func__);
return HDF_FAILURE;
}
ret = drsOps->GetUint32(node, "busNum", &(tester->busNum), 0);
if (ret != HDF_SUCCESS) {
- HDF_LOGE("%s: fill bus num fail!", __func__);
+ HDF_LOGE("%s: fill bus num failed", __func__);
return ret;
}
ret = drsOps->GetUint32(node, "hostId", &(tester->hostId), 0);
if (ret != HDF_SUCCESS) {
- HDF_LOGE("%s: fill hostId fail!", __func__);
+ HDF_LOGE("%s: fill hostId failed", __func__);
return ret;
}
@@ -147,7 +147,7 @@ static int32_t EmmcTestInit(struct HdfDeviceObject *device)
}
ret = EmmcTestFillConfig(tester, device->property);
if (ret != HDF_SUCCESS) {
- HDF_LOGE("%s: read config fail!", __func__);
+ HDF_LOGE("%s: read config failed", __func__);
return ret;
}
tester->TestEntry = EmmcTestEntry;
diff --git a/test/unittest/platform/common/gpio_test.c b/test/unittest/platform/common/gpio_test.c
index 7600efd6daa5614ff3b2cfad9ae5b31f5055ae9b..658291b71fd71e8b19ffe1ba8fae8a1df69a9a84 100644
--- a/test/unittest/platform/common/gpio_test.c
+++ b/test/unittest/platform/common/gpio_test.c
@@ -195,7 +195,7 @@ static int32_t TestCaseGpioIrq(struct GpioTester *tester, uint16_t mode, bool in
}
#endif
if (tester->irqCnt <= 0) {
- HDF_LOGE("%s: mode:%x on %u fail!", __func__, mode, tester->gpioIrq);
+ HDF_LOGE("%s: set mode:%x on %u failed", __func__, mode, tester->gpioIrq);
return HDF_FAILURE;
}
return HDF_SUCCESS;
diff --git a/test/unittest/platform/common/i2c_driver_test.c b/test/unittest/platform/common/i2c_driver_test.c
index e5e28545772d1a3121ec9d0c4541e98fd841eb64..ed88adfbd8431cbaf5df13ff0096675bf4ec11aa 100644
--- a/test/unittest/platform/common/i2c_driver_test.c
+++ b/test/unittest/platform/common/i2c_driver_test.c
@@ -24,7 +24,7 @@ static int32_t I2cTestDispatch(struct HdfDeviceIoClient *client, int cmd, struct
return HDF_ERR_INVALID_PARAM;
}
if (!HdfSbufWriteBuffer(reply, &g_config, sizeof(g_config))) {
- HDF_LOGE("%s: writ reply fail!", __func__);
+ HDF_LOGE("%s: write reply failed", __func__);
return HDF_ERR_IO;
}
} else {
@@ -41,37 +41,37 @@ static int32_t I2cTestReadConfig(struct I2cTestConfig *config, const struct Devi
drsOps = DeviceResourceGetIfaceInstance(HDF_CONFIG_SOURCE);
if (drsOps == NULL || drsOps->GetUint32 == NULL) {
- HDF_LOGE("%s: invalid drs ops fail!", __func__);
+ HDF_LOGE("%s: invalid drs ops", __func__);
return HDF_FAILURE;
}
ret = drsOps->GetUint16(node, "bus_num", &config->busNum, 0);
if (ret != HDF_SUCCESS) {
- HDF_LOGE("%s: read bus num fail!", __func__);
+ HDF_LOGE("%s: read bus num failed", __func__);
return ret;
}
ret = drsOps->GetUint16(node, "dev_addr", &config->devAddr, 0);
if (ret != HDF_SUCCESS) {
- HDF_LOGE("%s: read dev addr fail!", __func__);
+ HDF_LOGE("%s: read dev addr failed", __func__);
return ret;
}
ret = drsOps->GetUint16(node, "reg_len", &config->regLen, 1);
if (ret != HDF_SUCCESS) {
- HDF_LOGE("%s: read reg len fail!", __func__);
+ HDF_LOGE("%s: read reg len failed", __func__);
return ret;
}
ret = drsOps->GetUint16(node, "reg_addr", &config->regAddr, 0);
if (ret != HDF_SUCCESS) {
- HDF_LOGE("%s: read reg addr fail!", __func__);
+ HDF_LOGE("%s: read reg addr failed", __func__);
return ret;
}
ret = drsOps->GetUint16(node, "buf_size", &config->bufSize, 0);
if (ret != HDF_SUCCESS) {
- HDF_LOGE("%s: read buf size fail!", __func__);
+ HDF_LOGE("%s: read buf size failed", __func__);
return ret;
}
@@ -90,7 +90,7 @@ static int32_t I2cTestBind(struct HdfDeviceObject *device)
ret = I2cTestReadConfig(&g_config, device->property);
if (ret != HDF_SUCCESS) {
- HDF_LOGE("%s: read config fail!", __func__);
+ HDF_LOGE("%s: read config failed", __func__);
return ret;
}
diff --git a/test/unittest/platform/common/i2c_test.c b/test/unittest/platform/common/i2c_test.c
index 47801f6ed34f4b6fd23fbf397252203f2e7983f9..cba586b295826ae0eb3ef37291c6914f046d65de 100644
--- a/test/unittest/platform/common/i2c_test.c
+++ b/test/unittest/platform/common/i2c_test.c
@@ -23,7 +23,7 @@
#define I2C_TEST_BUF_SIZE_MAX 128
#define I2C_TEST_REG_LEN 2
#define I2C_TEST_MLTTHD_TIMES 1000
-#define I2C_TEST_STACK_SIZE (1024*100)
+#define I2C_TEST_STACK_SIZE (1024 * 100)
#define I2C_TEST_WAIT_TIMES 200
static struct I2cMsg g_msgs[I2C_TEST_MSG_NUM];
@@ -84,7 +84,7 @@ struct I2cTester *I2cTesterGet(void)
static struct I2cTester tester;
static bool hasInit = false;
- if (hasInit == true) {
+ if (hasInit) {
return &tester;
}
@@ -96,7 +96,7 @@ struct I2cTester *I2cTesterGet(void)
tester.handle = I2cOpen(tester.config.busNum);
if (tester.handle == NULL) {
- HDF_LOGE("I2cTesterGet: open i2cBus:%u fail! handle:%p", tester.config.busNum, tester.handle);
+ HDF_LOGE("I2cTesterGet: open i2cBus:%u fail!", tester.config.busNum);
return NULL;
}
@@ -217,14 +217,14 @@ int32_t I2cTestWriteRead(void)
return HDF_SUCCESS;
}
-static int I2cTestThreadFunc(void *parm)
+static int I2cTestThreadFunc(void *param)
{
int32_t i, ret;
struct I2cTester *tester = NULL;
tester = I2cTesterGet();
if (tester == NULL || tester->handle == NULL) {
- *((int32_t *)parm) = 1;
+ *((int32_t *)param) = 1;
return HDF_ERR_INVALID_OBJECT;
}
@@ -239,7 +239,7 @@ static int I2cTestThreadFunc(void *parm)
}
}
- *((int32_t *)parm) = 1;
+ *((int32_t *)param) = 1;
return HDF_SUCCESS;
}
diff --git a/test/unittest/platform/common/platform_driver_test.c b/test/unittest/platform/common/platform_driver_test.c
index 55917a14303ed735c667cc6498fc8504aac5c5a7..832be851f46ce6f4e81f348e89f58182a946259f 100644
--- a/test/unittest/platform/common/platform_driver_test.c
+++ b/test/unittest/platform/common/platform_driver_test.c
@@ -24,7 +24,7 @@ static void DoAllPlatformTest(void)
static int32_t PlatformTestBind(struct HdfDeviceObject *device)
{
- struct IDeviceIoService service;
+ static struct IDeviceIoService service;
if (device == NULL) {
HDF_LOGE("%s: device is null!", __func__);
diff --git a/test/unittest/platform/common/sdio_test.c b/test/unittest/platform/common/sdio_test.c
index 800afbf8e4c564b84c8ae90f0ee7cc79b20246d9..f661c3fc2a652e99a111a0b2bef72bc0ffe2004e 100644
--- a/test/unittest/platform/common/sdio_test.c
+++ b/test/unittest/platform/common/sdio_test.c
@@ -60,13 +60,13 @@ static int32_t TestSdioIncrAddrReadAndWriteOtherBytes(struct SdioTester *tester)
HDF_LOGE("%s: SdioReadBytes fail! ret=%d.", __func__, ret);
return HDF_FAILURE;
}
- HDF_LOGE("%s: read, data[0]:%d\n", __func__, data[0]);
+ HDF_LOGE("%s: read, data[0]:%u\n", __func__, data[0]);
ret = SdioWriteBytes(tester->handle, &data[0], addr, 1, 0);
if (ret != HDF_SUCCESS) {
HDF_LOGE("%s: SdioWriteBytes fail! ret=%d.", __func__, ret);
return HDF_FAILURE;
}
- HDF_LOGE("%s: write, data[0]:%d\n", __func__, data[0]);
+ HDF_LOGE("%s: write, data[0]:%u\n", __func__, data[0]);
return HDF_SUCCESS;
}
@@ -98,7 +98,7 @@ static int32_t TestSdioIncrAddrReadAndWriteOneByte(struct SdioTester *tester)
HDF_LOGE("%s: SdioReadBytes fail! ret=%d.", __func__, ret);
return HDF_FAILURE;
}
- HDF_LOGE("%s: read, val:%d.", __func__, val);
+ HDF_LOGE("%s: read, val:%u.", __func__, val);
/* read 1 bits */
addr++;
ret = SdioReadBytes(tester->handle, &val, addr, 1, 0);
@@ -106,7 +106,7 @@ static int32_t TestSdioIncrAddrReadAndWriteOneByte(struct SdioTester *tester)
HDF_LOGE("%s: SdioReadBytes fail! ret=%d.", __func__, ret);
return HDF_FAILURE;
}
- HDF_LOGE("%s: read, val:%d.", __func__, val);
+ HDF_LOGE("%s: read, val:%u.", __func__, val);
return HDF_SUCCESS;
}
@@ -144,14 +144,14 @@ static int32_t TestSdioFixedAddrReadAndWriteOtherBytes(struct SdioTester *tester
HDF_LOGE("%s: SdioReadBytesFromFixedAddr fail! ret=%d.", __func__, ret);
return HDF_FAILURE;
}
- HDF_LOGE("%s: read, data[0]:%d, data[1]:%d\n", __func__, data[0], data[1]);
+ HDF_LOGE("%s: read, data[0]:%u, data[1]:%u\n", __func__, data[0], data[1]);
/* write bits */
ret = SdioWriteBytes(tester->handle, &data[0], addr, 1, 0);
if (ret != HDF_SUCCESS) {
HDF_LOGE("%s: SdioWriteBytesToFixedAddr fail! ret=%d.", __func__, ret);
return HDF_FAILURE;
}
- HDF_LOGE("%s: write, data[0]:%d, data[1]:%d.", __func__, data[0], data[1]);
+ HDF_LOGE("%s: write, data[0]:%u, data[1]:%u.", __func__, data[0], data[1]);
return ret;
}
@@ -250,7 +250,7 @@ static int32_t TestSdioFunc0ReadAndWriteBytes(struct SdioTester *tester)
}
SdioReleaseHost(tester->handle);
- HDF_LOGE("%s: Func0 Read, val :%d.", __func__, val);
+ HDF_LOGE("%s: Func0 Read, val:%u.", __func__, val);
return ret;
}
@@ -264,7 +264,7 @@ static int32_t TestSdioSetAndGetFuncInfo(struct SdioTester *tester)
HDF_LOGE("%s: SdioGetCommonInfo fail! ret=%d.", __func__, ret);
return ret;
}
- HDF_LOGE("%s: succ! Timeout=%d.", __func__, info.funcInfo.enTimeout);
+ HDF_LOGE("%s: succ! Timeout=%u.", __func__, info.funcInfo.enTimeout);
info.funcInfo.enTimeout = TEST_TIME_OUT;
ret = SdioSetCommonInfo(tester->handle, &info, SDIO_FUNC_INFO);
@@ -278,7 +278,7 @@ static int32_t TestSdioSetAndGetFuncInfo(struct SdioTester *tester)
HDF_LOGE("%s: SdioGetCommonInfo fail! ret=%d.", __func__, ret);
return ret;
}
- HDF_LOGE("%s: again succ! Timeout=%d.", __func__, info.funcInfo.enTimeout);
+ HDF_LOGE("%s: again succ! Timeout=%u.", __func__, info.funcInfo.enTimeout);
return HDF_SUCCESS;
}
@@ -355,7 +355,7 @@ struct SdioTestFunc g_sdioTestFunc[] = {
static int32_t SdioTestEntry(struct SdioTester *tester, int32_t cmd)
{
int32_t i;
- int32_t ret;
+ int32_t ret = HDF_SUCCESS;
bool isFind = false;
if (tester == NULL) {
@@ -374,7 +374,7 @@ static int32_t SdioTestEntry(struct SdioTester *tester, int32_t cmd)
break;
}
}
- if (isFind == false) {
+ if (!isFind) {
ret = HDF_ERR_NOT_SUPPORT;
HDF_LOGE("%s: cmd %d not support", __func__, cmd);
}
@@ -415,8 +415,8 @@ static int32_t SdioTestFillConfig(struct SdioTester *tester, const struct Device
return ret;
}
- HDF_LOGE("%s: busNum:%d, funcNum:%d, vendorId:0x%x, deviceId:0x%x.", __func__,
- tester->busNum, tester->funcNum, tester->vendorId, tester->deviceId);
+ HDF_LOGE("%s: busNum:%u, funcNum:%u, vendorId:0x%x.", __func__,
+ tester->busNum, tester->funcNum, tester->vendorId);
return HDF_SUCCESS;
}
diff --git a/test/unittest/platform/common/uart_test.c b/test/unittest/platform/common/uart_test.c
index 8808232fe5e57290bf863576a386b791f3f58ee9..ea7f59ffc1505dfdcae179e2c1fc235da640a8cc 100644
--- a/test/unittest/platform/common/uart_test.c
+++ b/test/unittest/platform/common/uart_test.c
@@ -62,7 +62,7 @@ static int32_t UartGetBaudTest(struct UartTest *test)
HDF_LOGE("%s: error", __func__);
return HDF_FAILURE;
}
- HDF_LOGE("%s: baud %d", __func__, baud);
+ HDF_LOGE("%s: baud %u", __func__, baud);
HDF_LOGE("%s: success", __func__);
return HDF_SUCCESS;
}
@@ -94,13 +94,13 @@ static int32_t UartGetAttributeTest(struct UartTest *test)
HDF_LOGE("%s: error", __func__);
return HDF_FAILURE;
}
- HDF_LOGE("dataBits %d", attribute.dataBits);
- HDF_LOGE("parity %d", attribute.parity);
- HDF_LOGE("stopBits %d", attribute.stopBits);
- HDF_LOGE("rts %d", attribute.rts);
- HDF_LOGE("cts %d", attribute.cts);
- HDF_LOGE("fifoRxEn %d", attribute.fifoRxEn);
- HDF_LOGE("fifoTxEn %d", attribute.fifoTxEn);
+ HDF_LOGE("dataBits %u", attribute.dataBits);
+ HDF_LOGE("parity %u", attribute.parity);
+ HDF_LOGE("stopBits %u", attribute.stopBits);
+ HDF_LOGE("rts %u", attribute.rts);
+ HDF_LOGE("cts %u", attribute.cts);
+ HDF_LOGE("fifoRxEn %u", attribute.fifoRxEn);
+ HDF_LOGE("fifoTxEn %u", attribute.fifoTxEn);
HDF_LOGE("%s: success", __func__);
return HDF_SUCCESS;
}
diff --git a/test/unittest/platform/common/watchdog_test.c b/test/unittest/platform/common/watchdog_test.c
index 7d76b86b2be3058c8a39b0f5d8d750b928753a08..ee2d923602d9e91c64ef5ff9859fc6b10b29aa30 100644
--- a/test/unittest/platform/common/watchdog_test.c
+++ b/test/unittest/platform/common/watchdog_test.c
@@ -186,7 +186,7 @@ static int32_t TestCaseWatchdogReliability(struct WatchdogTester *tester)
(void)WatchdogSetTimeout(NULL, WATCHDOG_TEST_TIMEOUT);
/* invalid device handle */
(void)WatchdogGetTimeout(NULL, &timeout);
- /* invalid timout pointer */
+ /* invalid timeout pointer */
(void)WatchdogGetTimeout(tester->handle, NULL);
HDF_LOGE("%s: test dfr for WatchdogFeed ...", __func__);
diff --git a/test/unittest/platform/hdf_mipi_dsi_entry_test.c b/test/unittest/platform/hdf_mipi_dsi_entry_test.c
index aab32cbfad04a4a812258c14c296ad09504d43c1..c4001c21352529fdd2089a2529e36b7368885a7e 100644
--- a/test/unittest/platform/hdf_mipi_dsi_entry_test.c
+++ b/test/unittest/platform/hdf_mipi_dsi_entry_test.c
@@ -23,7 +23,7 @@ int32_t HdfMipiDsiEntry(HdfTestMsg *msg)
test = MipiDsiTestServiceGet();
if (test == NULL) {
- HDF_LOGE("%s: get servie fail!\n", __func__);
+ HDF_LOGE("%s: get service fail!", __func__);
return HDF_FAILURE;
}
diff --git a/test/unittest/platform/hdf_rtc_entry_test.c b/test/unittest/platform/hdf_rtc_entry_test.c
index 1285bf9cb5eb4da9648ac51229b94dc4740f4ab8..640bae98b9a72b4c6df9a97caf546438fc90e0b2 100644
--- a/test/unittest/platform/hdf_rtc_entry_test.c
+++ b/test/unittest/platform/hdf_rtc_entry_test.c
@@ -36,7 +36,7 @@ static int8_t g_rtcIrqCallback = HDF_FAILURE;
int32_t RtcAlarmACallback(enum RtcAlarmIndex alarmIndex)
{
if (alarmIndex == RTC_ALARM_INDEX_A) {
- HDF_LOGE("RtcAlarmACallback alarm a success");
+ HDF_LOGE("RtcAlarmACallback: alarm a callback success");
g_rtcIrqCallback = HDF_SUCCESS;
} else {
g_rtcIrqCallback = HDF_FAILURE;
@@ -87,14 +87,14 @@ static int32_t RtcReadWriteTimeTest(struct RtcTime *writeTime)
}
ret = RtcWriteTime(g_rtcHandle, writeTime);
if (ret != 0) {
- HDF_LOGE("RtcReadWriteTimeTest write fail");
+ HDF_LOGE("RtcReadWriteTimeTest write failed");
return -1;
}
OsalMSleep(RTC_TEST_WR_WAIT_MS);
ret = RtcReadTime(g_rtcHandle, &readTime);
if (ret != 0) {
- HDF_LOGE("RtcReadWriteTimeTest read fail");
+ HDF_LOGE("RtcReadWriteTimeTest read failed");
return -1;
}
@@ -116,14 +116,14 @@ static int32_t RtcReadWriteAlarmTimeTest(struct RtcTime *writeTime)
ret = RtcWriteAlarm(g_rtcHandle, RTC_ALARM_INDEX_A, writeTime);
if (ret != 0) {
- HDF_LOGE("RtcReadWriteAlarmTimeTest write fail");
+ HDF_LOGE("RtcReadWriteAlarmTimeTest write failed");
return -1;
}
OsalMSleep(RTC_TEST_WR_WAIT_MS);
ret = RtcReadAlarm(g_rtcHandle, RTC_ALARM_INDEX_A, &readTime);
if (ret != 0) {
- HDF_LOGE("RtcReadWriteAlarmTimeTest read fail");
+ HDF_LOGE("RtcReadWriteAlarmTimeTest read failed");
return -1;
}
@@ -152,7 +152,7 @@ static int32_t RtcReadWriteTime(void)
ret = RtcReadWriteTimeTest(&tm);
if (ret != 0) {
- HDF_LOGE("RtcReadWriteTime fail");
+ HDF_LOGE("RtcReadWriteTime failed");
return -1;
}
@@ -176,7 +176,7 @@ static int32_t RtcReadWriteMaxTime(void)
tm.weekday = weekday;
ret = RtcReadWriteTimeTest(&tm);
if (ret == 0) {
- HDF_LOGE("RtcReadWriteMaxTime fail");
+ HDF_LOGE("RtcReadWriteMaxTime failed");
return -1;
}
@@ -200,7 +200,7 @@ static int32_t RtcReadWriteMinTime(void)
tm.weekday = weekday;
ret = RtcReadWriteTimeTest(&tm);
if (ret == 0) {
- HDF_LOGE("RtcReadWriteMinTime fail");
+ HDF_LOGE("RtcReadWriteMinTime failed");
return -1;
}
@@ -225,7 +225,7 @@ static int32_t RtcReadWriteAlarmTime(void)
tm.weekday = weekday;
ret = RtcReadWriteAlarmTimeTest(&tm);
if (ret != 0) {
- HDF_LOGE("RtcReadWriteAlarmTime read fail");
+ HDF_LOGE("RtcReadWriteAlarmTime read failed");
return -1;
}
@@ -249,7 +249,7 @@ static int32_t RtcReadWriteMaxAlarmTime(void)
tm.weekday = weekday;
ret = RtcReadWriteAlarmTimeTest(&tm);
if (ret == 0) {
- HDF_LOGE("RtcReadWriteMaxAlarmTime read fail");
+ HDF_LOGE("RtcReadWriteMaxAlarmTime read failed");
return -1;
}
@@ -273,7 +273,7 @@ static int32_t RtcReadWriteMinAlarmTime(void)
time.weekday = weekday;
ret = RtcReadWriteAlarmTimeTest(&time);
if (ret == 0) {
- HDF_LOGE("RtcReadWriteMinAlarmTime read fail");
+ HDF_LOGE("RtcReadWriteMinAlarmTime read failed");
return -1;
}
@@ -299,12 +299,12 @@ static int32_t RtcAlarmEnable(void)
tm.weekday = weekday;
ret = RtcReadWriteAlarmTimeTest(&tm);
if (ret != 0) {
- HDF_LOGE("RtcReadWriteAlarmTime read fail");
+ HDF_LOGE("RtcReadWriteAlarmTime read failed");
return -1;
}
ret = RtcAlarmInterruptEnable(g_rtcHandle, RTC_ALARM_INDEX_A, 1);
if (ret != 0) {
- HDF_LOGE("RtcAlarmInterruptEnable fail");
+ HDF_LOGE("RtcAlarmInterruptEnable failed");
return -1;
}
return 0;
@@ -323,17 +323,17 @@ static int32_t RtcAlarmIrqAttachConfig(void)
ret = RtcRegisterAlarmCallback(g_rtcHandle, RTC_ALARM_INDEX_A, RtcAlarmACallback);
if (ret != 0) {
- HDF_LOGE("RtcRegisterAlarmCallback fail");
+ HDF_LOGE("RtcRegisterAlarmCallback failed");
return -1;
}
ret = RtcSetFreq(g_rtcHandle, freq);
if (ret != 0) {
- HDF_LOGE("RtcSetFreq fail");
+ HDF_LOGE("RtcSetFreq failed");
return -1;
}
ret = RtcAlarmInterruptEnable(g_rtcHandle, RTC_ALARM_INDEX_A, 1);
if (ret != 0) {
- HDF_LOGE("RtcAlarmInterruptEnable fail");
+ HDF_LOGE("RtcAlarmInterruptEnable failed");
return -1;
}
return 0;
@@ -361,24 +361,24 @@ static int32_t RtcAlarmIrq(void)
time.weekday = weekday;
ret = RtcAlarmIrqAttachConfig();
if (ret != 0) {
- HDF_LOGE("RtcWriteTime fail");
+ HDF_LOGE("RtcWriteTime failed");
return -1;
}
ret = RtcWriteTime(g_rtcHandle, &time);
if (ret != 0) {
- HDF_LOGE("RtcWriteTime fail");
+ HDF_LOGE("RtcWriteTime failed");
return -1;
}
/* set alarm time 2020-08-08 Saturday 08:08:09 .000 */
time.second = RTC_TEST_TIME_SECOND + 1;
ret = RtcWriteAlarm(g_rtcHandle, RTC_ALARM_INDEX_A, &time);
if (ret != 0) {
- HDF_LOGE("RtcWriteAlarm fail");
+ HDF_LOGE("RtcWriteAlarm failed");
return -1;
}
OsalSleep(RTC_TEST_WAIT_TIME_S);
if (g_rtcIrqCallback == HDF_FAILURE) {
- HDF_LOGE("RtcWriteAlarm fail");
+ HDF_LOGE("RtcWriteAlarm failed");
return -1;
}
g_rtcIrqCallback = HDF_FAILURE;
@@ -394,7 +394,7 @@ static int32_t RtcRegisterCallback(void)
}
ret = RtcRegisterAlarmCallback(g_rtcHandle, RTC_ALARM_INDEX_A, RtcAlarmACallback);
if (ret != 0) {
- HDF_LOGE("RtcRegisterCallback fail");
+ HDF_LOGE("RtcRegisterCallback failed");
return -1;
}
return 0;
@@ -410,7 +410,7 @@ static int32_t RtcRegisterNullCallback(void)
ret = RtcRegisterAlarmCallback(g_rtcHandle, RTC_ALARM_INDEX_A, NULL);
if (ret == 0) {
- HDF_LOGE("RtcRegisterCallback fail");
+ HDF_LOGE("RtcRegisterCallback failed");
return -1;
}
return 0;
@@ -426,7 +426,7 @@ static int32_t RtcSetNormalFreq(void)
ret = RtcSetFreq(g_rtcHandle, RTC_TEST_FREQ);
if (ret != 0) {
- HDF_LOGE("RtcSetNormalFreq fail");
+ HDF_LOGE("RtcSetNormalFreq failed");
return -1;
}
return 0;
@@ -442,7 +442,7 @@ static int32_t RtcSetMaxFreq(void)
ret = RtcSetFreq(g_rtcHandle, RTC_TEST_FREQ * RTC_TIME_UNIT);
if (ret == 0) {
- HDF_LOGE("RtcSetMaxFreq fail");
+ HDF_LOGE("RtcSetMaxFreq failed");
return -1;
}
return 0;
@@ -458,7 +458,7 @@ static int32_t RtcSetMinFreq(void)
ret = RtcSetFreq(g_rtcHandle, 0);
if (ret == 0) {
- HDF_LOGE("RtcSetMinFreq fail");
+ HDF_LOGE("RtcSetMinFreq failed");
return -1;
}
ret = RtcSetFreq(g_rtcHandle, RTC_TEST_FREQ);
@@ -476,12 +476,12 @@ static int32_t RtcReadWriteUserReg(void)
ret = RtcWriteReg(g_rtcHandle, 0, value);
if (ret != 0) {
- HDF_LOGE("RtcReadWriteUserReg write fail");
+ HDF_LOGE("RtcReadWriteUserReg write failed");
return -1;
}
ret = RtcReadReg(g_rtcHandle, 0, &value);
if (ret != 0) {
- HDF_LOGE("RtcSetMinFreq read fail");
+ HDF_LOGE("RtcSetMinFreq read failed");
return -1;
}
if (value != RTC_TEST_USER_VALUE) {
@@ -501,12 +501,12 @@ static int32_t RtcReadWriteMaxUserIndex(void)
ret = RtcWriteReg(g_rtcHandle, RTC_TEST_USER_MAX_INDEX, value);
if (ret == 0) {
- HDF_LOGE("RtcReadWriteUserReg write fail");
+ HDF_LOGE("RtcReadWriteUserReg write failed");
return -1;
}
ret = RtcReadReg(g_rtcHandle, RTC_TEST_USER_MAX_INDEX, &value);
if (ret == 0) {
- HDF_LOGE("RtcSetMinFreq read fail");
+ HDF_LOGE("RtcSetMinFreq read failed");
return -1;
}
return 0;
diff --git a/test/unittest/platform/hdf_rtc_entry_test.h b/test/unittest/platform/hdf_rtc_entry_test.h
index 98df0ef63a5e85a9ac69a79d63ecfde56171bfc4..3f3997e1adef17804a3780bf85909be6569c7675 100644
--- a/test/unittest/platform/hdf_rtc_entry_test.h
+++ b/test/unittest/platform/hdf_rtc_entry_test.h
@@ -34,4 +34,4 @@ typedef enum {
} HdfRtcTestCaseCmd;
int32_t HdfRtcEntry(HdfTestMsg *msg);
-#endif // HDF_RTC_ENTRY_TEST_H
\ No newline at end of file
+#endif /* HDF_RTC_ENTRY_TEST_H */
diff --git a/test/unittest/sensor/hdf_sensor_test.c b/test/unittest/sensor/hdf_sensor_test.c
index 45526d456a0022a6bae6e878aeca1e352ca40899..09f5485d437344eb780c9ad89fc826b21fda9be7 100644
--- a/test/unittest/sensor/hdf_sensor_test.c
+++ b/test/unittest/sensor/hdf_sensor_test.c
@@ -177,7 +177,7 @@ int32_t InitSensorDriverTest(struct HdfDeviceObject *device)
struct SensorDeviceInfo deviceInfo = {
.sensorInfo = {
.sensorName = "sensor_test",
- .vendorName = "huawei",
+ .vendorName = "default",
.firmwareVersion = "1.0",
.hardwareVersion = "1.0",
.sensorTypeId = SENSOR_TAG_NONE,
diff --git a/test/unittest/wifi/hdf_wifi_test.c b/test/unittest/wifi/hdf_wifi_test.c
index 30f5053bb3cb74bcccc0fe1e269a15e0495f68aa..4132c8fa98e3b1fd1bf55ec7c37e8d3446ad8e05 100644
--- a/test/unittest/wifi/hdf_wifi_test.c
+++ b/test/unittest/wifi/hdf_wifi_test.c
@@ -54,10 +54,15 @@ int32_t HdfWifiEntry(HdfTestMsg *msg)
{
int32_t result, i;
+ if (msg == NULL) {
+ HDF_LOGE("%s is fail: HdfTestMsg is NULL!", __func__);
+ return HDF_SUCCESS;
+ }
+
for (i = 0; i < sizeof(g_hdfWiFiTestCaseList) / sizeof(g_hdfWiFiTestCaseList[0]); ++i) {
if ((msg->subCmd == g_hdfWiFiTestCaseList[i].subCmd) && (g_hdfWiFiTestCaseList[i].testFunc != NULL)) {
result = g_hdfWiFiTestCaseList[i].testFunc();
- HDF_LOGE("HdfTest:Wifi test result[%s-%d]", ((result == 0) ? "pass" : "fail"), msg->subCmd);
+ HDF_LOGE("HdfTest:Wifi test result[%s-%u]", ((result == 0) ? "pass" : "fail"), msg->subCmd);
msg->result = (result == 0) ? HDF_SUCCESS : HDF_FAILURE;
return HDF_SUCCESS;
}
diff --git a/test/unittest/wifi/hdf_wifi_test.h b/test/unittest/wifi/hdf_wifi_test.h
index 3cf27f56c735dbd8d1b3d9348de2c658f3c10110..294ecec4ef0c38ffd93b58ae747209d8d9378c2c 100644
--- a/test/unittest/wifi/hdf_wifi_test.h
+++ b/test/unittest/wifi/hdf_wifi_test.h
@@ -44,7 +44,6 @@ typedef enum {
WIFI_MODULE_ADD_FEATURE,
WIFI_MODULE_DELETE_FEATURE,
WIFI_MODULE_END = 200,
-
/* message */
WIFI_MESSAGE_QUEUE_001 = WIFI_MODULE_END,
WIFI_MESSAGE_QUEUE_002,
diff --git a/tools/hc-gen/Makefile b/tools/hc-gen/Makefile
index 3b75b8ee5884d9bffde8a2ec3afd9eb40c758a07..9dcdfae0083e16aa7bfd9de2ab366de4d163c973 100644
--- a/tools/hc-gen/Makefile
+++ b/tools/hc-gen/Makefile
@@ -16,7 +16,7 @@ BOUNDS_CHECK_LIB := $(abspath ../../../../third_party/bounds_checking_function/)
INCLUDE_DIR := ./include $(BOUNDS_CHECK_LIB)/include
OUT_DIR := build
-TEST_CASE := $(abspath ../../../adapter/khdf/liteos/test/tools/hc-gen/test/unittest)
+TEST_CASE := $(abspath ../../../adapter/lite/khdf/test/tools/hc-gen/test/unittest)
ORIGIN_SOURCES := $(wildcard src/*)
ORIGIN_SOURCES += $(wildcard $(BOUNDS_CHECK_LIB)/src/*)
diff --git a/tools/hc-gen/README.md b/tools/hc-gen/README.md
index 7a56a9e8cd88df9eb3ea53a9d950f554a530730a..40a6517127a5aa1b83e847bc8056d3f13f9779c5 100755
--- a/tools/hc-gen/README.md
+++ b/tools/hc-gen/README.md
@@ -1 +1 @@
-hc-gen compilation requires flex and bison, make sure that they are installed before compiling.
+hc-gen compilation requires flex and bison, so make sure they are installed before you get start.
\ No newline at end of file
diff --git a/tools/hc-gen/bin/hc-gen b/tools/hc-gen/bin/hc-gen
index 196de1293733a24442bb4937cf670066b108a76a..a759c47705c7acf92e7cc4111cd42104253c7546 100755
Binary files a/tools/hc-gen/bin/hc-gen and b/tools/hc-gen/bin/hc-gen differ
diff --git a/tools/hc-gen/include/hcs_compiler.h b/tools/hc-gen/include/hcs_compiler.h
index 3e6371cb482fab9a6f0c07384a6a831703cd1a9c..8ef1aa7dbf252a63870fa1945fa427198848430b 100644
--- a/tools/hc-gen/include/hcs_compiler.h
+++ b/tools/hc-gen/include/hcs_compiler.h
@@ -18,7 +18,7 @@
#define HBC_MAGIC_NUM 0xA00AA00A
#define HCS_COMPILER_VERSION_MAJOR 00
-#define HCS_COMPILER_VERSION_MINOR 65
+#define HCS_COMPILER_VERSION_MINOR 66
typedef struct HbcHeader {
uint32_t magicNumber;
@@ -31,8 +31,8 @@ typedef struct HbcHeader {
/* Parse compiler options */
int32_t DoOption(int32_t argc, char *argv[]);
-int32_t HcsDoCompile();
+int32_t HcsDoCompile(void);
-int32_t HcsDoOptimize();
+int32_t HcsDoOptimize(void);
#endif // HCS_COMPILER_H
diff --git a/tools/hc-gen/include/hcs_decompiler.h b/tools/hc-gen/include/hcs_decompiler.h
index 32bd88002bbe5c930c19ec76991634fa43728686..ae5cbd4b4d5b277c5830d846b6fdf0fdd63b7d12 100644
--- a/tools/hc-gen/include/hcs_decompiler.h
+++ b/tools/hc-gen/include/hcs_decompiler.h
@@ -11,8 +11,8 @@
#include "hcs_compiler.h"
-int32_t HcsDoDecompile();
+int32_t HcsDoDecompile(void);
-int32_t HcsDecompileOutput();
+int32_t HcsDecompileOutput(void);
#endif // HCS_DECOMPILE_H
diff --git a/tools/hc-gen/include/hcs_file.h b/tools/hc-gen/include/hcs_file.h
index 7411dd6dada39ace164936df1c9de311fe909edd..e891f832beba2702e676e449c66764e0c9907d34 100644
--- a/tools/hc-gen/include/hcs_file.h
+++ b/tools/hc-gen/include/hcs_file.h
@@ -34,7 +34,7 @@ struct HcsSourceName {
struct HcsSourceName *next;
};
-const char *HcsGetInputFileName();
+const char *HcsGetInputFileName(void);
void HcsSetInputFileName(const char *name);
@@ -46,9 +46,11 @@ int32_t HcsSetOutPutName(const char *name);
int32_t HcsSetOutPutNameWithCurrentWorkPath(const char *name);
-const char *HcsGetOutPutFileName();
+const char *HcsGetOutPutFilePath(void);
-const char *HcsGetStripedOutputFileName();
+char *HcsGetOutputFileNameWithoutSuffix(void);
+
+const char *HcsGetOutputFileName(void);
struct HcsFile *HcsOpenOutputFile(const char *suffix);
@@ -56,6 +58,8 @@ void HcsCloseOutput(struct HcsFile *output);
int32_t HcsOutputWrite(const void *buffer, uint32_t length);
+int32_t HcsFormatOutputWrite(const char *format, ...);
+
int32_t HcsOutputWriteAlign(const void *buffer, uint32_t length);
void HcsMockOutPut(bool dummyOutput);
@@ -66,13 +70,13 @@ void HcsResetOutputCurrentCount(void);
void HcsSourceQueuePush(struct HcsFile *sourceFile);
-void HcsSourceQueuePop();
+void HcsSourceQueuePop(void);
-struct HcsFile *HcsSourceQueueTop();
+struct HcsFile *HcsSourceQueueTop(void);
-uint32_t HcsSourceQueueSize();
+uint32_t HcsSourceQueueSize(void);
-const char *HcsGetCurrentSourceName();
+const char *HcsGetCurrentSourceName(void);
int32_t HcsSourceNameSetPush(const char *name);
diff --git a/tools/hc-gen/include/hcs_gener.h b/tools/hc-gen/include/hcs_gener.h
index ae29334a4977bbe491323cf92ba226eb406ca7a4..c3706da11f8614330f3bd0a84fc7c665eb78a2de 100644
--- a/tools/hc-gen/include/hcs_gener.h
+++ b/tools/hc-gen/include/hcs_gener.h
@@ -11,8 +11,8 @@
#include
-int32_t HcsBytecodeOutput();
-int32_t HcsTextCodeOutput();
+int32_t HcsBytecodeOutput(void);
+int32_t HcsTextCodeOutput(void);
int32_t HcsBinaryToHexdump(const char *inputFileName);
#endif // HCS_COMPILER_GENER_H
diff --git a/tools/hc-gen/include/hcs_log.h b/tools/hc-gen/include/hcs_log.h
index bc71064a16cf4e59bd2dbd181cc234ce08ad12d8..76b8ff80a4cace74a3641740ca9f29624bc7c878 100644
--- a/tools/hc-gen/include/hcs_log.h
+++ b/tools/hc-gen/include/hcs_log.h
@@ -39,7 +39,7 @@
#define HCS_OBJECT_PR(prefix, object, fmt, args...) \
do { \
- HCS_LOG_PRINT (prefix": %s:%u\n\t" fmt"\n", \
+ HCS_LOG_PRINT(prefix": %s:%u\n\t" fmt"\n", \
object ? ((ParserObjectBase*)object)->src : "unknown", \
object ? ((ParserObjectBase*)object)->lineno : 0, \
##args); \
@@ -52,12 +52,20 @@
#define PRINTF_CHECK_AND_RETURN(printRes) \
do { \
if ((printRes) < 0) { \
- HCS_ERROR("Error:%s(%d), sprintf_s fail", \
+ HCS_ERROR("Error:%s(%d), sprintf_s failed", \
+ __FUNCTION__, __LINE__); \
+ return EOUTPUT; \
+ } \
+ } while (0)
+
+#define OUTPUT_CHECK_AND_RETURN(printRes) \
+ do { \
+ if ((printRes) < 0) { \
+ HCS_ERROR("Error:%s(%d), output write failed", \
__FUNCTION__, __LINE__); \
return EOUTPUT; \
} \
} while (0)
-#define SPRINTF_ERROR_INFO "sprintf fail"
#endif // HCS_COMPILER_LOG_H
diff --git a/tools/hc-gen/include/hcs_opcode.h b/tools/hc-gen/include/hcs_opcode.h
index 0c32eacba07e443a1d6f1a3e1b843ee1906bafd8..1e8f1d6546397e867585ecb6721df7d1401d5296 100644
--- a/tools/hc-gen/include/hcs_opcode.h
+++ b/tools/hc-gen/include/hcs_opcode.h
@@ -27,7 +27,7 @@ typedef struct {
const char *opStr;
} OpCodeMapEntry;
-const OpCodeMapEntry *HcsGetOpCodeMap();
+const OpCodeMapEntry *HcsGetOpCodeMap(void);
const OpCodeMapEntry *HcsParserObjectTypeToByteCode(uint32_t objectType);
diff --git a/tools/hc-gen/include/hcs_option.h b/tools/hc-gen/include/hcs_option.h
index 034d940c49884f3e428b84d63ffeed805ac5daaf..9ec430e78f891898d4a93f86c933a47148721f84 100644
--- a/tools/hc-gen/include/hcs_option.h
+++ b/tools/hc-gen/include/hcs_option.h
@@ -10,20 +10,20 @@
#define HCS_COMPILER_OPTION_H
#include
-bool HcsOptShouldAlign();
+bool HcsOptShouldAlign(void);
void HcsOptSetAlign(bool align);
-bool HcsOptShouldGenTextConfig();
+bool HcsOptShouldGenTextConfig(void);
-bool HcsOptShouldGenByteCodeConfig();
+bool HcsOptShouldGenByteCodeConfig(void);
-bool HcsOptDecompile();
+bool HcsOptDecompile(void);
-bool HcsOptShouldGenHexdump();
+bool HcsOptShouldGenHexdump(void);
-const char *HcsOptGetSymbolNamePrefix();
+const char *HcsOptGetSymbolNamePrefix(void);
-bool HcsVerbosePrint();
+bool HcsVerbosePrint(void);
#endif // HCS_COMPILER_OPTION_H
diff --git a/tools/hc-gen/src/hcs_ast.c b/tools/hc-gen/src/hcs_ast.c
index 5b2365f49b611be620cf892a910dbb802dc2448a..4348483a79e1091d2215172693181f80a4b0ce6d 100644
--- a/tools/hc-gen/src/hcs_ast.c
+++ b/tools/hc-gen/src/hcs_ast.c
@@ -6,13 +6,13 @@
* See the LICENSE file in the root of this repository for complete details.
*/
+#include "hcs_ast.h"
#include
#include
#include "hcs_file.h"
#include "hcs_mem.h"
#include "hcs_log.h"
#include "hcs_option.h"
-#include "hcs_ast.h"
#define ANONYMOUS_OBJECT_NAME "|_"
static ParserObject *g_parserRoot = NULL;
@@ -24,14 +24,14 @@ bool HcsIsAnonymousObject(const ParserObject *obj)
ParserObject *HcsAllocParserObject(void)
{
- ParserObject *new = (ParserObject *)HcsMemZalloc(sizeof(ParserObject));
- if (new == NULL) {
- HCS_ERROR("%s %d %s OOM", __FILE__, __LINE__, __func__);
+ ParserObject *newObject = (ParserObject *)HcsMemZalloc(sizeof(ParserObject));
+ if (newObject == NULL) {
+ HCS_ERROR("%s:%d OOM", __func__, __LINE__);
return NULL;
}
- new->objectBase.src = HcsGetCurrentSourceName();
- new->objectBase.lineno = HcsGetCurrentSourceLine();
- return new;
+ newObject->objectBase.src = HcsGetCurrentSourceName();
+ newObject->objectBase.lineno = HcsGetCurrentSourceLine();
+ return newObject;
}
void HcsAstFreeObject(ParserObject *object)
@@ -77,7 +77,7 @@ void HcsDeleteParserObjectTree(ParserObject *object)
if (object == NULL) {
return;
}
- /* delete current and subtree */
+ /* delete current tree and subtree */
HcsAstFreeObjectAndSubtree(object);
}
@@ -89,7 +89,7 @@ ParserObject *HcsGetParserRoot(void)
HCS_DEBUG("instance root node");
char *rootNodeName = strdup("root");
if (rootNodeName == NULL) {
- HCS_ERROR("%s %d %s OOM", __FILE__, __LINE__, __func__);
+ HCS_ERROR("%s:%d OOM", __func__, __LINE__);
return NULL;
}
g_parserRoot = HcsNewConfigNode(rootNodeName, CONFIG_NODE_NOREF, NULL);
@@ -311,7 +311,7 @@ static ParserObject *HcsParserObjectClone(const ParserObject *object)
}
ParserObject *clone = HcsAllocParserObject();
if (clone == NULL) {
- HCS_ERROR("%s %d %s OOM", __FILE__, __LINE__, __func__);
+ HCS_ERROR("%s:%d OOM", __func__, __LINE__);
return NULL;
}
@@ -384,7 +384,7 @@ int32_t HcsAstCopyArray(const ParserObject *src, ParserObject *dst)
while (arrayElement != NULL) {
ParserObject *copy = HcsParserObjectClone(arrayElement);
if (copy == NULL) {
- HCS_ERROR("%s %d %s OOM", __FILE__, __LINE__, __func__);
+ HCS_ERROR("%s:%d OOM", __func__, __LINE__);
return EOOM;
}
HcsAstAddChild(dst, copy);
@@ -407,7 +407,7 @@ static int32_t HcsCopyObject(const ParserObject *src, ParserObject *dst)
HcsMemFree(dst->objectBase.stringValue);
dst->objectBase.stringValue = strdup(src->objectBase.stringValue);
if (dst->objectBase.stringValue == NULL) {
- HCS_ERROR("%s %d %s OOM", __FILE__, __LINE__, __func__);
+ HCS_ERROR("%s:%d OOM", __func__, __LINE__);
return EOOM;
}
} else if (src->objectBase.type == PARSEROP_ARRAY) {
@@ -442,7 +442,6 @@ static int32_t HcsAstCopyTree(ParserObject *src, ParserObject *dstTree, uint32_t
}
} else if (HcsOptShouldGenTextConfig() && HcsIsNumberObject(src) &&
dstExistObject->objectBase.type > src->objectBase.type) {
- /* At template case, should do type upward transformation to template */
src->objectBase.type = dstExistObject->objectBase.type;
}
diff --git a/tools/hc-gen/src/hcs_bytecode_gen.c b/tools/hc-gen/src/hcs_bytecode_gen.c
index 39512292179e4f14a8adb8d5c12365fde692e14c..caf56b8b67c368e6cba569e4be71c61f56e296ce 100644
--- a/tools/hc-gen/src/hcs_bytecode_gen.c
+++ b/tools/hc-gen/src/hcs_bytecode_gen.c
@@ -83,9 +83,9 @@ static int32_t ByteCodeWriteWalk(ParserObject *current, int32_t walkDepth)
}
int32_t ret = NOERR;
switch (current->objectBase.opCode) {
- case HCS_BYTE_OP:
- case HCS_WORD_OP:
- case HCS_DWORD_OP:
+ case HCS_BYTE_OP: /* fall-through */
+ case HCS_WORD_OP: /* fall-through */
+ case HCS_DWORD_OP: /* fall-through */
case HCS_QWORD_OP: {
const OpCodeMapEntry *byteCodeMap = HcsGetOpCodeMap();
ret = HcsOutputWriteAlign(¤t->objectBase.integerValue, byteCodeMap[current->objectBase.type].size);
@@ -103,7 +103,6 @@ static int32_t ByteCodeWriteWalk(ParserObject *current, int32_t walkDepth)
}
ret = HcsOutputWriteAlign(¤t->objectBase.subSize, sizeof(current->objectBase.subSize));
break;
- /* fall-through */
case HCS_ARRAY_OP: {
uint16_t size = HcsCountArraySize(current);
ret = HcsOutputWriteAlign(&size, sizeof(size));
@@ -122,20 +121,20 @@ static int32_t ByteCodeWriteWalk(ParserObject *current, int32_t walkDepth)
return ret;
}
-int32_t HcsBytecodeOutput()
+int32_t HcsBytecodeOutput(void)
{
ParserObject *astRoot = HcsGetParserRoot();
if (astRoot == NULL) {
return EFAIL;
}
- /* generate OpCode for every object on AST and calculate size for each */
+ /* generate OpCode for every object on AST and calculate size for each object */
int32_t ret = HcsWalkAst(astRoot, AST_WALK_BACKEND, NULL, ByteCodeConvert);
if (ret) {
return ret;
}
- /* ast data is ready, do binder output */
+ /* ast data is ready, do bindary output */
struct HcsFile *outputFIle = HcsOpenOutputFile(HCS_OUTPUT_FILE_SUFFIX);
HbcHeader header = {
@@ -181,7 +180,7 @@ int32_t HcsBytecodeOutput()
HcsCloseOutput(outputFIle);
HCS_DEBUG("Total size: %u ", astRoot->objectBase.size);
if (ret == NOERR && HcsOptShouldGenHexdump()) {
- ret = HcsBinaryToHexdump(HcsGetOutPutFileName());
+ ret = HcsBinaryToHexdump(HcsGetOutPutFilePath());
}
return ret;
}
diff --git a/tools/hc-gen/src/hcs_decompile_gen.c b/tools/hc-gen/src/hcs_decompile_gen.c
index 5959fc52f20fdc81bfec414275bc5e809fc0268d..c253ff2b889eebc7e57ad188996ff7a10a44c254 100644
--- a/tools/hc-gen/src/hcs_decompile_gen.c
+++ b/tools/hc-gen/src/hcs_decompile_gen.c
@@ -30,7 +30,7 @@ static char *HcsAssembleNodeRefName(char *buff, uint32_t buffSize, const char *n
}
char *str = strdup(buff);
if (str == NULL) {
- HCS_ERROR("%s %d %s OOM", __FILE__, __LINE__, __func__);
+ HCS_ERROR("%s:%d OOM", __func__, __LINE__);
return NULL;
}
return str;
@@ -83,65 +83,59 @@ static char *HcsGetNodeRefPath(uint64_t hash)
return NULL;
}
-static int32_t HcsDecompilePrintBaseType(char *buffer, uint32_t bufferSize, const ParserObject *object);
+static int32_t HcsDecompilePrintBaseType(const ParserObject *object);
-static int32_t HcsDecompilePrintArrayType(char *buffer, uint32_t bufferSize, const ParserObject *object)
+static int32_t HcsDecompilePrintArrayType(const ParserObject *object)
{
- int32_t res = sprintf_s(buffer, bufferSize, "[");
- PRINTF_CHECK_AND_RETURN(res);
+ int32_t res;
+ PRINTF_CHECK_AND_RETURN(HcsFormatOutputWrite("["));
ParserObject *arrayElement = (ParserObject *)object->objectBase.child;
while (arrayElement->objectBase.next) {
- res = HcsDecompilePrintBaseType(buffer + strlen(buffer), bufferSize - strlen(buffer), arrayElement);
+ res = HcsDecompilePrintBaseType(arrayElement);
if (res) {
return EOUTPUT;
}
- res = sprintf_s(buffer + strlen(buffer), bufferSize - strlen(buffer), ", ");
- PRINTF_CHECK_AND_RETURN(res);
+ PRINTF_CHECK_AND_RETURN(HcsFormatOutputWrite(", "));
arrayElement = (ParserObject *)arrayElement->objectBase.next;
}
- res = HcsDecompilePrintBaseType(buffer + strlen(buffer), bufferSize - strlen(buffer), arrayElement);
+ res = HcsDecompilePrintBaseType(arrayElement);
if (res) {
return EOUTPUT;
}
- res = sprintf_s(buffer + strlen(buffer), bufferSize - strlen(buffer), "]");
- PRINTF_CHECK_AND_RETURN(res);
- return NOERR;
+ return HcsFormatOutputWrite("]");
}
-static int32_t HcsDecompilePrintBaseType(char *buffer, uint32_t bufferSize, const ParserObject *object)
+static int32_t HcsDecompilePrintBaseType(const ParserObject *object)
{
- int32_t res;
+ int32_t res = NOERR;
switch (object->objectBase.type) {
case PARSEROP_UINT8:
case PARSEROP_UINT16:
case PARSEROP_UINT32:
case PARSEROP_UINT64:
- res = sprintf_s(buffer, bufferSize, "0x%"PRIx64, object->objectBase.integerValue);
- PRINTF_CHECK_AND_RETURN(res);
+ res = HcsFormatOutputWrite("0x%"PRIx64, object->objectBase.integerValue);
break;
case PARSEROP_STRING:
- res = sprintf_s(buffer, bufferSize, "\"%s\"", object->objectBase.stringValue);
- PRINTF_CHECK_AND_RETURN(res);
+ res = HcsFormatOutputWrite("\"%s\"", object->objectBase.stringValue);
break;
case PARSEROP_NODEREF: {
char *refPath = HcsGetNodeRefPath(object->objectBase.value);
if (refPath == NULL) {
return EOUTPUT;
}
- res = sprintf_s(buffer, bufferSize, "&%s", refPath);
+ res = HcsFormatOutputWrite("&%s", refPath);
HcsMemFree(refPath);
- PRINTF_CHECK_AND_RETURN(res);
}
break;
case PARSEROP_ARRAY:
- return HcsDecompilePrintArrayType(buffer, bufferSize, object);
+ return HcsDecompilePrintArrayType(object);
default:
HCS_ERROR("unknown OpCode %u", object->objectBase.type);
return EFAIL;
}
- return NOERR;
+ return res;
}
static int32_t HcsDecompileOutputWalk(ParserObject *current, int32_t walkDepth)
@@ -151,41 +145,31 @@ static int32_t HcsDecompileOutputWalk(ParserObject *current, int32_t walkDepth)
}
int32_t res;
- char writeBuffer[WRITE_BUFFER_LEN] = {'\0'};
int32_t tabSize = walkDepth * HCS_TAB_SIZE;
if (walkDepth) {
- res = sprintf_s(writeBuffer, WRITE_BUFFER_LEN, "%*c", tabSize, ' ');
- PRINTF_CHECK_AND_RETURN(res);
+ PRINTF_CHECK_AND_RETURN(HcsFormatOutputWrite("%*c", tabSize, ' '));
}
switch (current->objectBase.type) {
case PARSEROP_CONFNODE:
- res = sprintf_s(writeBuffer + strlen(writeBuffer), WRITE_BUFFER_LEN - strlen(writeBuffer),
- "%s {\n", current->configNode.name);
- PRINTF_CHECK_AND_RETURN(res);
+ OUTPUT_CHECK_AND_RETURN(HcsFormatOutputWrite("%s {\n", current->configNode.name));
if (current->objectBase.child == NULL) {
- res = sprintf_s(writeBuffer + strlen(writeBuffer) - 1,
- WRITE_BUFFER_LEN - strlen(writeBuffer) + 1, "}\n");
- PRINTF_CHECK_AND_RETURN(res);
+ return HcsFormatOutputWrite("%*c}\n", tabSize, ' ');
}
break;
case PARSEROP_CONFTERM:
- res = sprintf_s(writeBuffer + strlen(writeBuffer), WRITE_BUFFER_LEN - strlen(writeBuffer),
- "%s = ", current->configNode.name);
- PRINTF_CHECK_AND_RETURN(res);
- res = HcsDecompilePrintBaseType(writeBuffer + strlen(writeBuffer), WRITE_BUFFER_LEN - strlen(writeBuffer),
- (ParserObject *)current->configNode.child);
+ OUTPUT_CHECK_AND_RETURN(HcsFormatOutputWrite("%s = ", current->configNode.name));
+ res = HcsDecompilePrintBaseType(
+ (ParserObject *) current->configNode.child);
if (res) {
return res;
}
- res = sprintf_s(writeBuffer + strlen(writeBuffer), WRITE_BUFFER_LEN - strlen(writeBuffer), ";\n");
- PRINTF_CHECK_AND_RETURN(res);
- break;
+ return HcsFormatOutputWrite(";\n");
default:
break;
}
- return HcsOutputWrite(writeBuffer, strlen(writeBuffer));
+ return NOERR;
}
static int32_t HcsDecompileCloseBraceGen(ParserObject *current, int32_t walkDepth)
@@ -193,22 +177,13 @@ static int32_t HcsDecompileCloseBraceGen(ParserObject *current, int32_t walkDept
if (current->objectBase.type != PARSEROP_CONFNODE) {
return NOERR;
}
- int32_t res;
int32_t tabSize = walkDepth * HCS_TAB_SIZE;
- char writeBuffer[WRITE_BUFFER_LEN] = {'\0'};
-
- if (current != HcsGetParserRoot()) {
- res = sprintf_s(writeBuffer, WRITE_BUFFER_LEN, "%*c}\n", tabSize, ' ');
- PRINTF_CHECK_AND_RETURN(res);
- } else {
- res = sprintf_s(writeBuffer, WRITE_BUFFER_LEN, "}\n");
- PRINTF_CHECK_AND_RETURN(res);
- }
- return HcsOutputWrite(writeBuffer, strlen(writeBuffer));
+ return current != HcsGetParserRoot() ? HcsFormatOutputWrite("%*c}\n", tabSize, ' ') :
+ HcsFormatOutputWrite("}\n");
}
-int32_t HcsDecompileOutput()
+int32_t HcsDecompileOutput(void)
{
ParserObject *astRoot = HcsGetParserRoot();
if (astRoot == NULL) {
@@ -221,8 +196,7 @@ int32_t HcsDecompileOutput()
goto OUT;
}
- const char *fileHeader = HCS_DECOMPILE_FILE_HEADER;
- if (HcsOutputWrite(fileHeader, strlen(fileHeader))) {
+ if (HcsFormatOutputWrite(HCS_DECOMPILE_FILE_HEADER) != EOK) {
goto OUT;
}
diff --git a/tools/hc-gen/src/hcs_decompiler.c b/tools/hc-gen/src/hcs_decompiler.c
index 2aac4443eaebecb85d10156cc5aebd054b276bd4..f69414e122e9178858cdba6e804e1e678d0c5d50 100644
--- a/tools/hc-gen/src/hcs_decompiler.c
+++ b/tools/hc-gen/src/hcs_decompiler.c
@@ -6,14 +6,14 @@
* See the LICENSE file in the root of this repository for complete details.
*/
-#include
+#include "hcs_decompiler.h"
+#include
#include "hcs_option.h"
#include "hcs_file.h"
#include "hcs_opcode.h"
#include "hcs_parser.h"
#include "hcs_log.h"
#include "hcs_compiler.h"
-#include "hcs_decompiler.h"
static ParserObject *RebuildObject(uint8_t opCode);
@@ -42,7 +42,7 @@ static bool HcsVerifyHbcFile()
}
HCS_INFO("Build by hcs compile %u.%u", header.versionMajor, header.versionMinor);
- HCS_INFO("hcb file total size: %u\n", header.totalSize);
+ HCS_INFO("hcb file total size: %d\n", header.totalSize);
return true;
}
@@ -74,7 +74,7 @@ static char *ReadCString()
}
char *str = strdup(buff);
if (str == NULL) {
- HCS_ERROR("%s %d %s OOM", __FILE__, __LINE__, __func__);
+ HCS_ERROR("%s:%d OOM", __func__, __LINE__);
return NULL;
}
return str;
@@ -348,7 +348,7 @@ static bool RebuildAst()
return true;
}
-int32_t HcsDoDecompile()
+int32_t HcsDoDecompile(void)
{
struct HcsFile *source = NULL;
uint32_t ret = HcsOpenSourceFile(HcsGetInputFileName(), &source, "rb");
diff --git a/tools/hc-gen/src/hcs_file.c b/tools/hc-gen/src/hcs_file.c
index 34b50002f8b6c93195dcfe802dfe5f927650d78d..e3cdedaa73b3c2c8f42d6b5f569a8411f3528fc1 100644
--- a/tools/hc-gen/src/hcs_file.c
+++ b/tools/hc-gen/src/hcs_file.c
@@ -6,6 +6,7 @@
* See the LICENSE file in the root of this repository for complete details.
*/
+#include "hcs_file.h"
#include
#include
#include
@@ -15,11 +16,10 @@
#include "hcs_parser.h"
#include "hcs_mem.h"
#include "hcs_log.h"
-#include "hcs_file.h"
-static char *g_outputFilename = NULL;
-static FILE *g_outputFIle = NULL;
-const char *g_inputFileName = NULL;
+static char *g_outputFileName = NULL;
+static FILE *g_outputFile = NULL;
+static const char *g_inputFileName = NULL;
static bool g_dummyOutput = false;
static uint32_t g_outputWriteCount = 0;
static struct HcsFileQueue g_inputSourceFileQueue = { 0 };
@@ -30,20 +30,17 @@ void HcsSetInputFileName(const char *name)
g_inputFileName = name;
}
-const char *HcsGetInputFileName()
+const char *HcsGetInputFileName(void)
{
return g_inputFileName;
}
-/*
- * Return: true - not exist, false - already exist and not overwrite
- */
int32_t HcsSourceNameSetPush(const char *name)
{
if (g_sourceNameSetHead == NULL) {
struct HcsSourceName *head = HcsMemZalloc(sizeof(*head));
if (head == NULL) {
- HCS_ERROR("%s %d %s OOM", __FILE__, __LINE__, __func__);
+ HCS_ERROR("%s:%d OOM", __func__, __LINE__);
return EOOM;
}
head->name = name;
@@ -61,13 +58,13 @@ int32_t HcsSourceNameSetPush(const char *name)
last = last->next;
}
- struct HcsSourceName *new = HcsMemZalloc(sizeof(struct HcsSourceName));
- if (new == NULL) {
- HCS_ERROR("%s %d %s OOM", __FILE__, __LINE__, __func__);
+ struct HcsSourceName *newName = HcsMemZalloc(sizeof(struct HcsSourceName));
+ if (newName == NULL) {
+ HCS_ERROR("%s:%d OOM", __func__, __LINE__);
return EOOM;
}
- new->name = name;
- pre->next = new;
+ newName->name = name;
+ pre->next = newName;
return NOERR;
}
@@ -101,6 +98,9 @@ void HcsSourceNameSetClean(void)
static const char *GetFileName(const char *path)
{
+ if (path == NULL) {
+ return NULL;
+ }
int32_t length = (int32_t)strlen(path);
int32_t i = length - 1;
for (; i >= 0; --i) {
@@ -147,7 +147,7 @@ static int32_t CopyAndSaveFileName(const char *filePath, char **savedFileName, c
}
/* if no specified output file name, use input name */
- if (HcsGetOutPutFileName() == NULL && HcsSetOutPutNameWithCurrentWorkPath(fileName)) {
+ if (HcsGetOutPutFilePath() == NULL && HcsSetOutPutNameWithCurrentWorkPath(fileName)) {
HcsMemFree((void *)fileName);
return EOOM;
}
@@ -172,26 +172,25 @@ int32_t HcsOpenSourceFile(const char *path, struct HcsFile **file, const char *f
char *realPath = realpath(path, pathBuf);
#endif
if (realPath == NULL) {
- HCS_ERROR("fail to open source file: %s", path);
+ HCS_ERROR("failed to open source file: %s", path);
return EINVALF;
}
/* push to name set and check reopen */
- int32_t ret = HcsSourceNameSetFind(realPath);
- if (ret == true) {
+ if (HcsSourceNameSetFind(realPath)) {
return EREOPENF;
}
HCS_DEBUG("source file path: %s", realPath);
FILE *f = fopen(realPath, flag ? flag : "r");
if (f == NULL) {
- HCS_ERROR("fail to open source file: %s", realPath);
+ HCS_ERROR("failed to open source file: %s", realPath);
return EINVALF;
}
char *fileName = NULL;
char *filePath = NULL;
- ret = CopyAndSaveFileName(realPath, &fileName, &filePath);
+ int32_t ret = CopyAndSaveFileName(realPath, &fileName, &filePath);
if (ret) {
fclose(f);
return EFAIL;
@@ -200,6 +199,7 @@ int32_t HcsOpenSourceFile(const char *path, struct HcsFile **file, const char *f
struct HcsFile *sourceFile = HcsMemZalloc(sizeof(struct HcsFile));
if (sourceFile == NULL) {
HcsMemFree(fileName);
+ HcsMemFree(filePath);
fclose(f);
HCS_ERROR("oom");
return EOOM;
@@ -272,17 +272,17 @@ int32_t HcsSetOutPutNameWithCurrentWorkPath(const char *name)
int32_t HcsSetOutPutName(const char *name)
{
- if (g_outputFilename != NULL) {
- HcsMemFree(g_outputFilename);
+ if (g_outputFileName != NULL) {
+ HcsMemFree(g_outputFileName);
}
- g_outputFilename = strdup(name);
- if (g_outputFilename == NULL) {
+ g_outputFileName = strdup(name);
+ if (g_outputFileName == NULL) {
HCS_ERROR("oom");
return EOOM;
}
#ifdef OS_WIN
- char *temp = g_outputFilename;
+ char *temp = g_outputFileName;
while (*temp != '\0') {
if (*temp == UNIX_SEPARATOR) {
*temp = WIN_SEPARATOR;
@@ -296,13 +296,13 @@ int32_t HcsSetOutPutName(const char *name)
bool HcsSetOutputFileSuffix(const char *suffix)
{
- const char *fileNameBefore = g_outputFilename;
+ const char *fileNameBefore = g_outputFileName;
const char *fileNameWithoutSuffix = GetFileNameWithoutSuffix(fileNameBefore);
if (fileNameWithoutSuffix == NULL) {
return false;
}
- uint32_t newNameSize = strlen(g_outputFilename) + strlen(suffix) + 1;
+ uint32_t newNameSize = strlen(g_outputFileName) + strlen(suffix) + 1;
char *newOutputFilename = HcsMemZalloc(newNameSize);
if (newOutputFilename == NULL) {
HcsMemFree((void *)fileNameWithoutSuffix);
@@ -312,37 +312,58 @@ bool HcsSetOutputFileSuffix(const char *suffix)
int32_t ret = strcpy_s(newOutputFilename, newNameSize, fileNameWithoutSuffix);
HcsMemFree((void *)fileNameWithoutSuffix);
if (ret) {
- HCS_ERROR("string copy fail");
+ HCS_ERROR("failed to copy string");
HcsMemFree(newOutputFilename);
return false;
}
ret = strcat_s(newOutputFilename, newNameSize, suffix);
if (ret) {
- HCS_ERROR("string copy fail");
+ HCS_ERROR("failed to copy string");
HcsMemFree(newOutputFilename);
return false;
}
HcsMemFree((void *)fileNameBefore);
- g_outputFilename = newOutputFilename;
+ g_outputFileName = newOutputFilename;
return true;
}
// return output file name only
-const char *HcsGetStripedOutputFileName()
+const char *HcsGetOutputFileName(void)
+{
+ return GetFileName(g_outputFileName);
+}
+
+char *HcsGetOutputFileNameWithoutSuffix(void)
{
- return GetFileName(g_outputFilename);
+ const char *fileName = HcsGetOutputFileName();
+ if (fileName == NULL) {
+ return NULL;
+ }
+
+ char *retName = strdup(fileName);
+ if (retName == NULL) {
+ HCS_ERROR("oom");
+ return NULL;
+ }
+
+ char *dot = strchr(retName, '.');
+ if (dot != NULL) {
+ *dot = '\0';
+ }
+ return retName;
}
+
// return full path of output file
-const char *HcsGetOutPutFileName()
+const char *HcsGetOutPutFilePath(void)
{
- return g_outputFilename;
+ return g_outputFileName;
}
bool HcsOutputNameVerify()
{
- const char *fileName = g_outputFilename;
+ const char *fileName = g_outputFileName;
char lastChar = fileName[strlen(fileName) - 1];
if (lastChar == OS_SEPARATOR) {
HCS_ERROR("output name is DIR");
@@ -360,10 +381,10 @@ struct HcsFile *HcsOpenOutputFile(const char *suffix)
if (!HcsSetOutputFileSuffix(suffix)) {
return NULL;
}
- const char *outputFileName = HcsGetOutPutFileName();
- g_outputFIle = fopen(outputFileName, "wb");
- if (g_outputFIle == NULL) {
- HCS_ERROR("fail to open output file: %s", outputFileName);
+ const char *outputFileName = HcsGetOutPutFilePath();
+ g_outputFile = fopen(outputFileName, "wb");
+ if (g_outputFile == NULL) {
+ HCS_ERROR("failed to open output file: %s", outputFileName);
return NULL;
}
@@ -371,12 +392,12 @@ struct HcsFile *HcsOpenOutputFile(const char *suffix)
struct HcsFile *outputFile = HcsMemZalloc(sizeof(struct HcsFile));
if (outputFile == NULL) {
HCS_ERROR("oom");
- fclose(g_outputFIle);
- g_outputFIle = NULL;
+ fclose(g_outputFile);
+ g_outputFile = NULL;
return NULL;
}
outputFile->name = outputFileName;
- outputFile->file = g_outputFIle;
+ outputFile->file = g_outputFile;
outputFile->pos = 0;
outputFile->fullPath = outputFileName;
g_outputWriteCount = 0;
@@ -404,15 +425,38 @@ int32_t HcsOutputWrite(const void *buffer, uint32_t length)
return NOERR;
}
- uint32_t writeLen = fwrite(buffer, 1, length, g_outputFIle);
+ uint32_t writeLen = fwrite(buffer, 1, length, g_outputFile);
if (writeLen != length) {
- HCS_ERROR("output file write fail");
+ HCS_ERROR("failed to write output file");
return EOUTPUT;
}
return NOERR;
}
+#define WRITE_MAX_PER_TIME 2048
+
+int32_t HcsFormatOutputWrite(const char *format, ...)
+{
+ if (format == NULL) {
+ return EINVALARG;
+ }
+ static char writeBuffer[WRITE_MAX_PER_TIME] = {'\0'};
+
+ va_list argList;
+
+ va_start(argList, format);
+ int length = vsprintf_s(writeBuffer, WRITE_MAX_PER_TIME, format, argList);
+ va_end(argList);
+ (void)argList;
+
+ if (length < 0) {
+ HCS_ERROR("Output too long in one time");
+ return EOUTPUT;
+ }
+ return HcsOutputWrite(writeBuffer, length);
+}
+
int32_t HcsOutputWriteAlign(const void *buffer, uint32_t length)
{
static const uint8_t alignData[ALIGN_SIZE] = {0};
@@ -460,7 +504,7 @@ void HcsSourceQueuePush(struct HcsFile *sourceFile)
sourceQueue->count++;
}
-void HcsSourceQueuePop()
+void HcsSourceQueuePop(void)
{
struct HcsFileQueue *sourceQueue = &g_inputSourceFileQueue;
if (sourceQueue->head == NULL) {
@@ -470,17 +514,17 @@ void HcsSourceQueuePop()
sourceQueue->count--;
}
-struct HcsFile *HcsSourceQueueTop()
+struct HcsFile *HcsSourceQueueTop(void)
{
return g_inputSourceFileQueue.head;
}
-uint32_t HcsSourceQueueSize()
+uint32_t HcsSourceQueueSize(void)
{
return g_inputSourceFileQueue.count;
}
-const char *HcsGetCurrentSourceName()
+const char *HcsGetCurrentSourceName(void)
{
struct HcsFile *source = HcsSourceQueueTop();
return source ? source->fullPath : "";
@@ -488,19 +532,12 @@ const char *HcsGetCurrentSourceName()
bool HcsFileCopyDir(char *dst, uint32_t dstBufferSize, const char *fullPath)
{
- const char *c = strlen(fullPath) + fullPath;
- while (c >= fullPath) {
- if (*c == OS_SEPARATOR) {
- break;
- }
- c--;
- }
- int32_t len = (int32_t)(c - fullPath) + 1;
- if (len <= 0) {
+ const char *c = strrchr(fullPath, OS_SEPARATOR);
+ if (c == NULL) {
HCS_ERROR("%s: path '%s' not include dir", __func__, fullPath);
return false;
}
-
+ int32_t len = (int32_t)(c - fullPath) + 1;
int32_t ret = strncpy_s(dst, dstBufferSize, fullPath, len);
if (ret) {
HCS_ERROR("%s:string copy fail", __func__);
diff --git a/tools/hc-gen/src/hcs_hexdump.c b/tools/hc-gen/src/hcs_hexdump.c
index 59d634a5fddc4e1e932a61b0dafd7b86bed899c3..6ac7f98182fc2f81e012d10b8cd7309024f391d8 100644
--- a/tools/hc-gen/src/hcs_hexdump.c
+++ b/tools/hc-gen/src/hcs_hexdump.c
@@ -61,13 +61,14 @@ int32_t HcsBinaryToHexdump(const char *inputFileName)
struct HcsFile *out = HcsOpenOutputFile(HCS_HEXDUMP_FILE_SUFFIX);
if (out == NULL) {
- HCS_ERROR("can not open %s", HcsGetOutPutFileName());
+ HCS_ERROR("can not open %s", HcsGetOutPutFilePath());
+ HcsCloseFile(source);
return EINVALF;
}
int32_t ret = HcsHexdumpOutput(source->file, out->file);
if (ret) {
- HCS_ERROR("fail to gen bytecode hexdump in C style");
+ HCS_ERROR("failed to gen bytecode hexdump in C style");
}
HcsCloseFile(source);
HcsCloseFile(out);
diff --git a/tools/hc-gen/src/hcs_mem.c b/tools/hc-gen/src/hcs_mem.c
index 410c66a2e6b8a30376c1737508a30bbdf886bdd1..e5ec7cb86dcf7eb45caaa0935023b660843b4e7b 100644
--- a/tools/hc-gen/src/hcs_mem.c
+++ b/tools/hc-gen/src/hcs_mem.c
@@ -6,11 +6,11 @@
* See the LICENSE file in the root of this repository for complete details.
*/
+#include "hcs_mem.h"
#include
#include
#include
-#include "hcs_mem.h"
-#define MEM_MAX (1024*1024)
+#define MEM_MAX (1024 * 1024)
void *HcsMemAlloc(uint32_t size)
{
@@ -18,8 +18,7 @@ void *HcsMemAlloc(uint32_t size)
return NULL;
}
- void *newMem = malloc(size);
- return newMem;
+ return malloc(size);
}
void *HcsMemZalloc(uint32_t size)
diff --git a/tools/hc-gen/src/hcs_middle.c b/tools/hc-gen/src/hcs_middle.c
index 35301f84eacc0f7fcd33d5b1a0bd32bc58d76259..b281764d2317a290e457d4ddc36d9b8ed18c2f26 100644
--- a/tools/hc-gen/src/hcs_middle.c
+++ b/tools/hc-gen/src/hcs_middle.c
@@ -38,17 +38,14 @@ static ParserObject *HcsLookupAstObject(const ParserObject *current, const char
ParserObject *object = HcsGetParserRoot();
while (nodeName != NULL) {
object = HcsAstLookupObjectInChildren(object, nodeName);
- if (object == NULL)
+ if (object == NULL) {
break;
+ }
nodeName = strtok(NULL, ".");
}
HcsMemFree(splitPath);
- if (object != NULL) {
- return object;
- }
-
- return NULL;
+ return object;
}
static int32_t HcsExpandNodeRef(ParserObject *object)
@@ -105,7 +102,7 @@ static int32_t HcsExpandNodeCopy(ParserObject *object)
ParserObjectBase *copyChild = copyNode->objectBase.child;
while (copyChild != NULL) {
if (copyChild->type == PARSEROP_CONFNODE) {
- HCS_OBJECT_ERROR(object, "Not allow copy node has child node when output text config, at %s:%d",
+ HCS_OBJECT_ERROR(object, "Not allow copy node has child node when output text config, at %s:%u",
copyChild->src, copyChild->lineno);
return EINVALARG;
}
@@ -340,12 +337,12 @@ static bool HcsApplyDelete(ParserObject *dst, ParserObject *src)
static int32_t HcsMergeTree(ParserObject *dst, ParserObject *src)
{
if (strcmp(src->objectBase.name, dst->objectBase.name) != 0) {
- HCS_OBJECT_ERROR(src, "merge different node to %s:%d", dst->objectBase.src, dst->objectBase.lineno);
+ HCS_OBJECT_ERROR(src, "merge different node to %s:%u", dst->objectBase.src, dst->objectBase.lineno);
return EINVALARG;
}
if (src->objectBase.type != dst->objectBase.type) {
- HCS_OBJECT_ERROR(src, "conflict type with %s:%d", dst->objectBase.src, dst->objectBase.lineno);
+ HCS_OBJECT_ERROR(src, "conflict type with %s:%u", dst->objectBase.src, dst->objectBase.lineno);
return EINVALARG;
}
@@ -373,7 +370,7 @@ static int32_t HcsMergeTree(ParserObject *dst, ParserObject *src)
ParserObject *childSrcNext = (ParserObject *)childSrc->objectBase.next;
ParserObject *childDst = HcsAstLookupObjectInChildren(dst, childSrc->objectBase.name);
if (childDst != NULL && childSrc->objectBase.type != childDst->objectBase.type) {
- HCS_OBJECT_ERROR(childSrc, "overwrite with different type at %s:%d", childDst->objectBase.src,
+ HCS_OBJECT_ERROR(childSrc, "overwrite with different type at %s:%u", childDst->objectBase.src,
childDst->objectBase.lineno);
return EINVALARG;
}
@@ -435,7 +432,7 @@ static int32_t HcsMiddleMerge(ParserObject **mergedRoot)
return NOERR;
}
-int32_t HcsDoOptimize()
+int32_t HcsDoOptimize(void)
{
ParserObject *root = HcsGetParserRoot();
if (root == NULL) {
diff --git a/tools/hc-gen/src/hcs_opcode.c b/tools/hc-gen/src/hcs_opcode.c
index 3bfac2df20bb865ee593929a6e87bf35f6ab75dd..22adaa65259526a7c37e5a2e30e3e4da1a6326d2 100644
--- a/tools/hc-gen/src/hcs_opcode.c
+++ b/tools/hc-gen/src/hcs_opcode.c
@@ -6,8 +6,8 @@
* See the LICENSE file in the root of this repository for complete details.
*/
-#include
#include "hcs_opcode.h"
+#include
OpCodeMapEntry g_byteCodeMap[PARSEROP_COUNT] = {
@@ -22,7 +22,7 @@ OpCodeMapEntry g_byteCodeMap[PARSEROP_COUNT] = {
[PARSEROP_NODEREF] = {HCS_NODEREF_OP, DWORD_SIZE, "NodeRef"}, /* RefHashCode - DWORD */
};
-const OpCodeMapEntry *HcsGetOpCodeMap()
+const OpCodeMapEntry *HcsGetOpCodeMap(void)
{
return g_byteCodeMap;
}
diff --git a/tools/hc-gen/src/hcs_option.c b/tools/hc-gen/src/hcs_option.c
index 3958660b0cd0fb795676bea2bd5c6cb15c3226d4..3442275e2c97aa29408ffb3ad4421e19c0894d02 100644
--- a/tools/hc-gen/src/hcs_option.c
+++ b/tools/hc-gen/src/hcs_option.c
@@ -14,15 +14,15 @@
#define ARG_COUNT_MIN 2
#define USAGE(option, info) HCS_PRINT(" %-12s%s\n", option, info)
-bool g_genTextConfigOutput = false;
-bool g_genByteCodeConfigOutput = true;
-bool g_genByteCodeHexdump = false;
-bool g_verbosePrint = false;
-bool g_decompile = false;
-bool g_shouldAlign = false;
-const char *g_symbolPrefix = NULL;
-
-bool HcsOptShouldAlign()
+static bool g_genTextConfigOutput = false;
+static bool g_genByteCodeConfigOutput = true;
+static bool g_genByteCodeHexdump = false;
+static bool g_verbosePrint = false;
+static bool g_decompile = false;
+static bool g_shouldAlign = false;
+static const char *g_symbolPrefix = NULL;
+
+bool HcsOptShouldAlign(void)
{
return g_shouldAlign;
}
@@ -32,26 +32,27 @@ void HcsOptSetAlign(bool align)
g_shouldAlign = align;
}
-
-bool HcsOptShouldGenTextConfig()
+bool HcsOptShouldGenTextConfig(void)
{
return g_genTextConfigOutput;
}
-bool HcsOptShouldGenByteCodeConfig()
+
+bool HcsOptShouldGenByteCodeConfig(void)
{
return g_genByteCodeConfigOutput;
}
-bool HcsOptDecompile()
+
+bool HcsOptDecompile(void)
{
return g_decompile;
}
-const char *HcsOptGetSymbolNamePrefix()
+const char *HcsOptGetSymbolNamePrefix(void)
{
return g_symbolPrefix;
}
-bool HcsOptShouldGenHexdump()
+bool HcsOptShouldGenHexdump(void)
{
return g_genByteCodeHexdump;
}
@@ -151,7 +152,7 @@ int32_t DoOption(int32_t argc, char *argv[])
return 0;
}
-bool HcsVerbosePrint()
+bool HcsVerbosePrint(void)
{
return g_verbosePrint;
}
diff --git a/tools/hc-gen/src/hcs_parser.c b/tools/hc-gen/src/hcs_parser.c
index 7e595cef9ab1a9aee5145bf39ff8af2200ffc747..40eb343f75ad84f7f572a76ac089baf719c12ae6 100644
--- a/tools/hc-gen/src/hcs_parser.c
+++ b/tools/hc-gen/src/hcs_parser.c
@@ -125,7 +125,7 @@ int32_t HcsProcessInclude(char *includePath, uint32_t lineNumber)
return NOERR;
}
-int32_t HcsDoCompile()
+int32_t HcsDoCompile(void)
{
struct HcsFile *source = NULL;
char *forestName = strdup("ForestRoot");
diff --git a/tools/hc-gen/src/hcs_text_gen.c b/tools/hc-gen/src/hcs_text_gen.c
index 00cce070503db6f2af7652d9fdf731443a73f019..9513c372e86b860228f632849e36e8a2d2fb76eb 100644
--- a/tools/hc-gen/src/hcs_text_gen.c
+++ b/tools/hc-gen/src/hcs_text_gen.c
@@ -18,20 +18,16 @@
#define TAB_SIZE 4
#define WRITE_BUFFER_LEN 256
-#define INCLUDE_PATH_MAX_LEN 128
#define VARIABLE_NAME_LEN 128
-#define GEN_CODE_MARGIN_SIZE 100
-#define GEN_ARRAY_SEP_SIZE 2
+#define ELEMENT_PER_LINE 16
#define HCS_CONFIG_FILE_HEADER "/*\n" \
- " * It's HDF config auto-gen file, do not modify it manually\n" \
+ " * This is an automatically generated HDF config file. Do not modify it manually.\n" \
" */\n\n"
#define HCS_CONFIG_INCLUDE_HEADER "#include \n\n"
#define DEFAULT_PREFIX "HdfConfig"
-#define HCS_CONFIG_INCLUDE_FUNC_DECLARATION "const struct %s%sRoot* HdfGet%sModuleConfigRoot(void);\n\n"
-
#define HCS_CONFIG_FUNC_IMPLEMENT "\nconst struct %s%sRoot* HdfGet%sModuleConfigRoot(void)\n" \
"{\n" \
" return &%s;\n" \
@@ -96,7 +92,7 @@ static int32_t InitConfigVariableNames()
return EOOM;
}
if (strcpy_s(g_bigHumpModuleName, strlen(moduleName) + 1, moduleName) != EOK) {
- HCS_ERROR("string copy fail");
+ HCS_ERROR("failed to copy string");
return EFAIL;
}
ToUpperCamelString(g_bigHumpModuleName, strlen(g_bigHumpModuleName));
@@ -309,14 +305,16 @@ const char *g_typeMap[PARSEROP_COUNT] = {
static int32_t GenConfigStructName(const ParserObject *node, char *name, uint32_t nameBuffLen)
{
char nameBuffer[OBJECT_NAME_MAX_LEN] = {'\0'};
- int32_t res = strcpy_s(nameBuffer, OBJECT_NAME_MAX_LEN, HcsGetModuleName());
- PRINTF_CHECK_AND_RETURN(res);
+ if (strcpy_s(nameBuffer, OBJECT_NAME_MAX_LEN, HcsGetModuleName()) != EOK) {
+ return EOUTPUT;
+ }
ToUpperCamelString(nameBuffer, strlen(nameBuffer));
- res = sprintf_s(name, nameBuffLen, "%s%s", g_namePrefix, nameBuffer);
+ int32_t res = sprintf_s(name, nameBuffLen, "%s%s", g_namePrefix, nameBuffer);
PRINTF_CHECK_AND_RETURN(res);
- res = strcpy_s(nameBuffer, OBJECT_NAME_MAX_LEN, node->configNode.name);
- PRINTF_CHECK_AND_RETURN(res);
+ if (strcpy_s(nameBuffer, OBJECT_NAME_MAX_LEN, node->configNode.name) != EOK) {
+ return EOUTPUT;
+ }
ToUpperCamelString(nameBuffer, strlen(nameBuffer));
res = sprintf_s(name + strlen(name), nameBuffLen - strlen(name), "%s", nameBuffer);
PRINTF_CHECK_AND_RETURN(res);
@@ -329,7 +327,7 @@ static int32_t GenConfigArrayName(ParserObject *array, char *name, uint32_t name
char buffer[OBJECT_NAME_MAX_LEN] = {'\0'};
if (strcpy_s(buffer, sizeof(buffer), array->objectBase.name) != EOK) {
- HCS_ERROR("%s: string copy fail", __func__);
+ HCS_ERROR("%s: failed to copy string", __func__);
return EOUTPUT;
}
ToUpperCamelString(buffer, strlen(buffer));
@@ -376,32 +374,27 @@ static int32_t GetArraySize(const ParserObject *array)
return size;
}
-static int32_t HcsPrintTermDefinition(char *buffer, uint32_t bufferSize, const ParserObject *object)
+static int32_t HcsPrintTermDefinition(const ParserObject *object)
{
ParserObject *termContext = (ParserObject *)object->objectBase.child;
- int32_t res;
+ int32_t res = NOERR;
switch (termContext->objectBase.type) {
case PARSEROP_ARRAY:
if (HcsIsInTemplateNode(object)) {
- res = sprintf_s(buffer, bufferSize, "const %s *%s;\n", GetArrayType(termContext),
- object->configTerm.name);
- PRINTF_CHECK_AND_RETURN(res);
- res = sprintf_s(buffer + strlen(buffer), bufferSize - strlen(buffer), "%*cuint32_t %sSize;\n", TAB_SIZE,
- ' ', object->configTerm.name);
+ res = HcsFormatOutputWrite("const %s *%s;\n", GetArrayType(termContext), object->configTerm.name);
+ OUTPUT_CHECK_AND_RETURN(res);
+ res = HcsFormatOutputWrite("%*cuint32_t %sSize;\n", TAB_SIZE, ' ', object->configTerm.name);
} else {
- res = sprintf_s(buffer, bufferSize, "%s %s[%d];\n", GetArrayType(termContext), object->configTerm.name,
+ res = HcsFormatOutputWrite("%s %s[%d];\n", GetArrayType(termContext), object->configTerm.name,
GetArraySize(termContext));
}
- PRINTF_CHECK_AND_RETURN(res);
break;
case PARSEROP_UINT8:
case PARSEROP_UINT16:
case PARSEROP_UINT32:
case PARSEROP_UINT64:
case PARSEROP_STRING:
- res = sprintf_s(buffer, bufferSize - strlen(buffer), "%s %s;\n", g_typeMap[termContext->objectBase.type],
- object->configTerm.name);
- PRINTF_CHECK_AND_RETURN(res);
+ res = HcsFormatOutputWrite("%s %s;\n", g_typeMap[termContext->objectBase.type], object->configTerm.name);
break;
case PARSEROP_NODEREF: {
char refType[OBJECT_NAME_MAX_LEN] = {'\0'};
@@ -409,15 +402,13 @@ static int32_t HcsPrintTermDefinition(char *buffer, uint32_t bufferSize, const P
if (res) {
return res;
}
- res = sprintf_s(buffer, bufferSize - strlen(buffer), "const struct %s* %s;\n", refType,
- object->configTerm.name);
- PRINTF_CHECK_AND_RETURN(res);
+ res = HcsFormatOutputWrite("const struct %s* %s;\n", refType, object->configTerm.name);
} break;
default:
break;
}
- return NOERR;
+ return res;
}
static int32_t HcsObjectDefinitionGen(const ParserObject *current)
@@ -426,9 +417,8 @@ static int32_t HcsObjectDefinitionGen(const ParserObject *current)
return NOERR;
}
- char writeBuffer[WRITE_BUFFER_LEN] = {'\0'};
- int32_t res = sprintf_s(writeBuffer, WRITE_BUFFER_LEN, "%*c", TAB_SIZE, ' ');
- PRINTF_CHECK_AND_RETURN(res);
+ int res = NOERR;
+ OUTPUT_CHECK_AND_RETURN(HcsFormatOutputWrite("%*c", TAB_SIZE, ' '));
switch (current->objectBase.type) {
case PARSEROP_CONFNODE: {
char structName[OBJECT_NAME_MAX_LEN] = {'\0'};
@@ -438,32 +428,27 @@ static int32_t HcsObjectDefinitionGen(const ParserObject *current)
}
if (current->configNode.nodeType == CONFIG_NODE_TEMPLATE) {
char nodeName[OBJECT_NAME_MAX_LEN] = {0};
- if (strcpy_s(nodeName, sizeof(nodeName), current->configNode.name)) {
+ if (strcpy_s(nodeName, sizeof(nodeName), current->configNode.name) != EOK) {
return EOUTPUT;
}
ToLowerCamelString(nodeName, strlen(nodeName));
- res = sprintf_s(writeBuffer + TAB_SIZE, WRITE_BUFFER_LEN - strlen(writeBuffer),
- "const struct %s* %s;\n", structName, nodeName);
- PRINTF_CHECK_AND_RETURN(res);
- res = sprintf_s(writeBuffer + strlen(writeBuffer), WRITE_BUFFER_LEN - strlen(writeBuffer),
- "%*cuint16_t %sSize;\n", TAB_SIZE, ' ', nodeName);
+ OUTPUT_CHECK_AND_RETURN(HcsFormatOutputWrite("const struct %s* %s;\n", structName, nodeName));
+ res = HcsFormatOutputWrite("%*cuint16_t %sSize;\n", TAB_SIZE, ' ', nodeName);
} else if (current->configNode.nodeType == CONFIG_NODE_INHERIT) {
return NOERR;
} else {
- res = sprintf_s(writeBuffer + TAB_SIZE, WRITE_BUFFER_LEN - strlen(writeBuffer), "struct %s %s;\n",
- structName, current->configNode.name);
+ res = HcsFormatOutputWrite("struct %s %s;\n", structName, current->configNode.name);
}
- PRINTF_CHECK_AND_RETURN(res);
break;
}
case PARSEROP_CONFTERM:
- HcsPrintTermDefinition(writeBuffer + TAB_SIZE, WRITE_BUFFER_LEN - strlen(writeBuffer), current);
+ res = HcsPrintTermDefinition(current);
break;
default:
break;
}
- return HcsOutputWrite(writeBuffer, strlen(writeBuffer));
+ return res;
}
static int32_t HcsDuplicateCheckWalkCallBack(ParserObject *current, int32_t walkDepth)
@@ -479,7 +464,6 @@ static int32_t HcsDuplicateCheckWalkCallBack(ParserObject *current, int32_t walk
static int32_t HcsGenNormalNodeDefinition(ParserObject *object, int32_t walkDepth)
{
(void)walkDepth;
- char writeBuffer[WRITE_BUFFER_LEN] = {'\0'};
char structName[OBJECT_NAME_MAX_LEN] = {'\0'};
int32_t res = GenConfigStructName(object, structName, OBJECT_NAME_MAX_LEN - 1);
if (res) {
@@ -491,11 +475,7 @@ static int32_t HcsGenNormalNodeDefinition(ParserObject *object, int32_t walkDept
HcsSymbolTableAdd(structName, object);
}
- res = sprintf_s(writeBuffer, (WRITE_BUFFER_LEN - 1), "struct %s {\n", structName);
- PRINTF_CHECK_AND_RETURN(res);
- if (HcsOutputWrite(writeBuffer, strlen(writeBuffer))) {
- return EOUTPUT;
- }
+ OUTPUT_CHECK_AND_RETURN(HcsFormatOutputWrite("struct %s {\n", structName));
ParserObject *terms = (ParserObject *)object->objectBase.child;
while (terms != NULL) {
@@ -506,10 +486,7 @@ static int32_t HcsGenNormalNodeDefinition(ParserObject *object, int32_t walkDept
terms = (ParserObject *)terms->objectBase.next;
}
- res = sprintf_s(writeBuffer, (WRITE_BUFFER_LEN - 1), "};\n\n");
- PRINTF_CHECK_AND_RETURN(res);
-
- return HcsOutputWrite(writeBuffer, strlen(writeBuffer));
+ return HcsFormatOutputWrite("};\n\n");
}
static int32_t HcsGenNodeTemplateDefinition(ParserObject *object, int32_t walkDepth)
@@ -532,20 +509,18 @@ static int32_t HcsDefinitionGenWalkCallBack(ParserObject *current, int32_t walkD
}
}
-static uint32_t HcsPrintTermValue(char *buffer, uint32_t buffSize, const ParserObject *object)
+static uint32_t HcsPrintTermValue(const ParserObject *object)
{
- int32_t res = 0;
+ int32_t res = NOERR;
switch (object->objectBase.type) {
case PARSEROP_UINT8: /* fallthrough */
case PARSEROP_UINT16: /* fallthrough */
case PARSEROP_UINT32: /* fallthrough */
case PARSEROP_UINT64:
- res = sprintf_s(buffer, buffSize, "0x%" PRIx64, object->objectBase.integerValue);
- PRINTF_CHECK_AND_RETURN(res);
+ res = HcsFormatOutputWrite("0x%" PRIx64, object->objectBase.integerValue);
break;
case PARSEROP_STRING:
- res = sprintf_s(buffer, buffSize, "\"%s\"", object->objectBase.stringValue);
- PRINTF_CHECK_AND_RETURN(res);
+ res = HcsFormatOutputWrite("\"%s\"", object->objectBase.stringValue);
break;
default:
break;
@@ -603,19 +578,15 @@ static char *HcsBuildObjectPath(const ParserObject *refObject)
return path;
}
-static int32_t HcsPrintArrayImplInSubClass(char *buffer, uint32_t bufferSize, ParserObject *object, uint8_t tabSize)
+static int32_t HcsPrintArrayImplInSubClass(ParserObject *object, uint8_t tabSize)
{
- int32_t size = sprintf_s(buffer, bufferSize, "%*c.%s = ", tabSize, ' ', object->objectBase.name);
- PRINTF_CHECK_AND_RETURN(size);
- if (GenConfigArrayName(object, buffer + size, bufferSize - size)) {
+ char arrayName[VARIABLE_NAME_LEN] = {0};
+ if (GenConfigArrayName(object, arrayName, VARIABLE_NAME_LEN)) {
return EOUTPUT;
}
- size = sprintf_s(buffer + strlen(buffer), bufferSize - strlen(buffer), ",\n");
- PRINTF_CHECK_AND_RETURN(size);
- size = sprintf_s(buffer + strlen(buffer), bufferSize - strlen(buffer), "%*c.%sSize = %d,\n", tabSize, ' ',
- object->configTerm.name, GetArraySize((ParserObject *)object->objectBase.child));
- PRINTF_CHECK_AND_RETURN(size);
- return HcsOutputWrite(buffer, strlen(buffer));
+ OUTPUT_CHECK_AND_RETURN(HcsFormatOutputWrite(".%s = %s,\n", object->objectBase.name, arrayName));
+ return HcsFormatOutputWrite("%*c.%sSize = %d,\n", tabSize, ' ',
+ object->configTerm.name, GetArraySize((ParserObject *)object->objectBase.child));
}
static int32_t HcsPrintArrayContent(const ParserObject *object, int32_t tabSize)
@@ -624,59 +595,44 @@ static int32_t HcsPrintArrayContent(const ParserObject *object, int32_t tabSize)
return NOERR;
}
- char writeBuffer[WRITE_BUFFER_LEN] = {'\0'};
ParserObject *element = (ParserObject *)object->objectBase.child;
- uint32_t writeSize = 0;
+ uint32_t elementCount = 0;
while (element != NULL) {
- int32_t size = HcsPrintTermValue(writeBuffer + writeSize, sizeof(writeBuffer) - writeSize, element);
- writeBuffer[writeSize + size++] = ',';
- writeBuffer[writeSize + size++] = ' ';
- writeSize += size;
- if (writeSize >= GEN_CODE_MARGIN_SIZE) {
- writeSize -= 1; /* strip space at line end */
- size = sprintf_s(writeBuffer + writeSize, sizeof(writeBuffer) - writeSize, "\n%*c", tabSize, ' ');
- PRINTF_CHECK_AND_RETURN(size);
- writeSize += size;
- if (HcsOutputWrite(writeBuffer, writeSize)) {
- return EOUTPUT;
- }
- writeSize = 0;
+ if (HcsPrintTermValue(element) != NOERR) {
+ return EOUTPUT;
+ }
+ if (elementCount++ >= ELEMENT_PER_LINE) {
+ OUTPUT_CHECK_AND_RETURN(HcsFormatOutputWrite("\n%*c", tabSize, ' '));
}
element = (ParserObject *)element->configTerm.next;
+ if (element != NULL) {
+ OUTPUT_CHECK_AND_RETURN(HcsFormatOutputWrite(", "));
+ }
}
- return writeSize ? HcsOutputWrite(writeBuffer, writeSize - GEN_ARRAY_SEP_SIZE) : NOERR;
+ return NOERR;
}
-static int32_t HcsPrintArrayImplement(char *buffer, uint32_t bufferSize, ParserObject *object, uint8_t tabSize)
+static int32_t HcsPrintArrayImplement(ParserObject *object, uint8_t tabSize)
{
if (HcsIsInSubClassNode(object)) {
- return HcsPrintArrayImplInSubClass(buffer, bufferSize, object, tabSize);
+ return HcsPrintArrayImplInSubClass(object, tabSize);
}
ParserObject *termContext = (ParserObject *)object->objectBase.child;
- int32_t res = sprintf_s(buffer + strlen(buffer), bufferSize - strlen(buffer), "%*c.%s = { ", tabSize, ' ',
- object->configTerm.name);
- PRINTF_CHECK_AND_RETURN(res);
- if (HcsOutputWrite(buffer, strlen(buffer))) {
- return EOUTPUT;
- }
+ OUTPUT_CHECK_AND_RETURN(HcsFormatOutputWrite(".%s = { ", object->configTerm.name));
+
if (HcsPrintArrayContent(termContext, tabSize + TAB_SIZE)) {
HCS_ERROR("fail to write array content");
return EOUTPUT;
}
- res = sprintf_s(buffer, bufferSize, " },\n");
- PRINTF_CHECK_AND_RETURN(res);
- if (HcsOutputWrite(buffer, strlen(buffer))) {
- return EOUTPUT;
- }
- return NOERR;
+ return HcsFormatOutputWrite(" },\n");
}
-static int32_t HcsPrintTermImplement(char *buffer, uint32_t bufferSize, ParserObject *object, int32_t tabSize)
+static int32_t HcsPrintTermImplement(ParserObject *object, int32_t tabSize)
{
- int32_t res;
- sprintf_s(buffer, bufferSize, "%*c", tabSize, ' ');
+ int32_t res = NOERR;
+ OUTPUT_CHECK_AND_RETURN(HcsFormatOutputWrite("%*c", tabSize, ' '));
ParserObject *termContext = (ParserObject *)object->objectBase.child;
switch (termContext->objectBase.type) {
case PARSEROP_UINT8:
@@ -686,52 +642,43 @@ static int32_t HcsPrintTermImplement(char *buffer, uint32_t bufferSize, ParserOb
case PARSEROP_UINT32:
/* fall-through */
case PARSEROP_UINT64:
- res = sprintf_s(buffer + strlen(buffer), bufferSize - strlen(buffer), ".%s = ", object->configTerm.name);
- PRINTF_CHECK_AND_RETURN(res);
- if (!HcsPrintTermValue(buffer + strlen(buffer), bufferSize - strlen(buffer), termContext)) {
+ OUTPUT_CHECK_AND_RETURN(HcsFormatOutputWrite(".%s = ", object->configTerm.name));
+ if (HcsPrintTermValue(termContext) != NOERR) {
return EOUTPUT;
}
- res = sprintf_s(buffer + strlen(buffer), bufferSize - strlen(buffer), ",\n");
- PRINTF_CHECK_AND_RETURN(res);
+ res = HcsFormatOutputWrite(",\n");
break;
case PARSEROP_STRING:
- res = sprintf_s(buffer + strlen(buffer), bufferSize - strlen(buffer), ".%s = ", object->configTerm.name);
- PRINTF_CHECK_AND_RETURN(res);
- if (!HcsPrintTermValue(buffer + strlen(buffer), bufferSize - strlen(buffer), termContext)) {
+ OUTPUT_CHECK_AND_RETURN(HcsFormatOutputWrite(".%s = ", object->configTerm.name));
+ if (HcsPrintTermValue(termContext) != NOERR) {
return EOUTPUT;
}
- res = sprintf_s(buffer + strlen(buffer), bufferSize - strlen(buffer), ",\n");
- PRINTF_CHECK_AND_RETURN(res);
+ res = HcsFormatOutputWrite(",\n");
break;
case PARSEROP_ARRAY:
- if (HcsPrintArrayImplement(buffer + strlen(buffer), bufferSize - strlen(buffer), object, tabSize)) {
- return EOUTPUT;
- }
- buffer[0] = '\0';
+ res = HcsPrintArrayImplement(object, tabSize);
break;
case PARSEROP_NODEREF: {
char *refPath = HcsBuildObjectPath((ParserObject *)object->objectBase.child->value);
if (refPath == NULL) {
return EOUTPUT;
}
- res = sprintf_s(buffer + strlen(buffer), bufferSize - strlen(buffer), ".%s = &%s,\n",
- object->configTerm.name, refPath);
+ res = HcsFormatOutputWrite(".%s = &%s,\n", object->configTerm.name, refPath);
HcsMemFree(refPath);
- PRINTF_CHECK_AND_RETURN(res);
break;
}
default:
break;
}
- return NOERR;
+ return res;
}
static int32_t HcsGenTemplateVariableName(ParserObject *object, char *nameBuff, uint32_t nameBufferSize)
{
char tempName[OBJECT_NAME_MAX_LEN] = {'\0'};
- if (strcpy_s(tempName, sizeof(tempName), object->objectBase.name)) {
- HCS_ERROR("s: string copy fail");
+ if (strcpy_s(tempName, sizeof(tempName), object->objectBase.name) != EOK) {
+ HCS_ERROR("failed to copy string");
return EOUTPUT;
}
ToUpperCamelString(tempName, sizeof(tempName));
@@ -756,24 +703,22 @@ static int32_t HcsGenTemplateVariableName(ParserObject *object, char *nameBuff,
static int32_t HcsTemplateNodeImplGen(ParserObject *current, int32_t tabSize)
{
- char writeBuffer[WRITE_BUFFER_LEN] = {'\0'};
char templateVariableName[VARIABLE_NAME_LEN] = {'\0'};
if (HcsGenTemplateVariableName(current, templateVariableName, sizeof(templateVariableName))) {
return EOUTPUT;
}
char nodeName[OBJECT_NAME_MAX_LEN] = {0};
- if (strcpy_s(nodeName, sizeof(nodeName), current->configNode.name)) {
- HCS_ERROR("%s: string copy fail", __func__);
+ if (strcpy_s(nodeName, sizeof(nodeName), current->configNode.name) != EOK) {
+ HCS_ERROR("%s: failed to copy string", __func__);
return EOUTPUT;
}
+
ToLowerCamelString(nodeName, strlen(nodeName));
- int32_t res = sprintf_s(writeBuffer, WRITE_BUFFER_LEN, "%*c.%s = %s,\n", tabSize, ' ', nodeName,
- current->configNode.inheritCount ? templateVariableName : "0");
- PRINTF_CHECK_AND_RETURN(res);
- res = sprintf_s(writeBuffer + strlen(writeBuffer), WRITE_BUFFER_LEN - strlen(writeBuffer), "%*c.%sSize = %d,\n",
+ OUTPUT_CHECK_AND_RETURN(HcsFormatOutputWrite("%*c.%s = %s,\n", tabSize, ' ', nodeName,
+ current->configNode.inheritCount ? templateVariableName : "0"));
+
+ return HcsFormatOutputWrite("%*c.%sSize = %d,\n",
tabSize, ' ', nodeName, current->configNode.inheritCount);
- PRINTF_CHECK_AND_RETURN(res);
- return HcsOutputWrite(writeBuffer, strlen(writeBuffer));
}
static int32_t HcsInheritObjectImplGen(ParserObject *current, int32_t tabSize)
@@ -787,33 +732,26 @@ static int32_t HcsInheritObjectImplGen(ParserObject *current, int32_t tabSize)
static int32_t HcsObjectImplementGen(ParserObject *current, int32_t tabSize)
{
- char writeBuffer[WRITE_BUFFER_LEN] = {'\0'};
- int32_t res;
+ int32_t res = NOERR;
switch (current->objectBase.type) {
- case PARSEROP_CONFNODE: {
+ case PARSEROP_CONFNODE:
if (current->configNode.nodeType != CONFIG_NODE_NOREF) {
res = HcsInheritObjectImplGen(current, tabSize);
return res ? res : EASTWALKBREAK;
}
- res = sprintf_s(writeBuffer, WRITE_BUFFER_LEN, "%*c.%s = {\n", tabSize, ' ', current->configNode.name);
- PRINTF_CHECK_AND_RETURN(res);
+ OUTPUT_CHECK_AND_RETURN(HcsFormatOutputWrite("%*c.%s = {\n", tabSize, ' ', current->configNode.name));
if (current->objectBase.child == NULL) {
- res = sprintf_s(writeBuffer + strlen(writeBuffer) - 1, WRITE_BUFFER_LEN - strlen(writeBuffer) + 1,
- "},\n");
- PRINTF_CHECK_AND_RETURN(res);
+ res = HcsFormatOutputWrite("%*c},\n", tabSize, ' ');
}
- } break;
+ break;
case PARSEROP_CONFTERM:
- res = HcsPrintTermImplement(writeBuffer, WRITE_BUFFER_LEN, current, tabSize);
- if (res) {
- return res;
- }
+ res = HcsPrintTermImplement(current, tabSize);
break;
default:
return NOERR;
}
- return HcsOutputWrite(writeBuffer, strlen(writeBuffer));
+ return res;
}
static int32_t HcsImplementGenWalkCallBack(ParserObject *current, int32_t walkDepth)
@@ -827,20 +765,17 @@ static int32_t HcsImplementGenWalkCallBack(ParserObject *current, int32_t walkDe
}
if (current == HcsGetParserRoot()) {
- char writeBuffer[WRITE_BUFFER_LEN] = {'\0'};
char structName[OBJECT_NAME_MAX_LEN] = {'\0'};
int32_t res = GenConfigStructName(current, structName, OBJECT_NAME_MAX_LEN - 1);
if (res) {
return res;
}
- res = sprintf_s(writeBuffer, WRITE_BUFFER_LEN, "static const struct %s %s = {\n", structName,
- GetConfigRootVariableName());
- PRINTF_CHECK_AND_RETURN(res);
+ OUTPUT_CHECK_AND_RETURN(HcsFormatOutputWrite("static const struct %s %s = {\n",
+ structName, GetConfigRootVariableName()));
if (current->objectBase.child == NULL) {
- res = sprintf_s(writeBuffer + strlen(writeBuffer), WRITE_BUFFER_LEN - strlen(writeBuffer), "};\n");
- PRINTF_CHECK_AND_RETURN(res);
+ res = HcsFormatOutputWrite("};\n");
}
- return HcsOutputWrite(writeBuffer, strlen(writeBuffer));
+ return res;
}
return HcsObjectImplementGen(current, walkDepth * TAB_SIZE);
}
@@ -856,18 +791,12 @@ static int32_t HcsImplementCloseBraceGen(ParserObject *current, int32_t walkDept
}
int32_t tabSize = walkDepth * TAB_SIZE;
- char writeBuffer[WRITE_BUFFER_LEN] = {'\0'};
- int32_t res;
if (current != HcsGetParserRoot()) {
- res = sprintf_s(writeBuffer, WRITE_BUFFER_LEN, "%*c},\n", tabSize, ' ');
- PRINTF_CHECK_AND_RETURN(res);
+ return HcsFormatOutputWrite("%*c},\n", tabSize, ' ');
} else {
- res = sprintf_s(writeBuffer, WRITE_BUFFER_LEN, "};\n");
- PRINTF_CHECK_AND_RETURN(res);
+ return HcsFormatOutputWrite("};\n");
}
-
- return HcsOutputWrite(writeBuffer, strlen(writeBuffer));
}
static void ToUpperString(char *str, uint32_t strLen)
@@ -877,118 +806,71 @@ static void ToUpperString(char *str, uint32_t strLen)
}
}
-static void StripFileNameSuffix(char *fileName, uint32_t fileNameLen)
-{
- for (uint32_t i = 0; i < fileNameLen; ++i) {
- if (fileName[i] == '.') {
- fileName[i] = '\0';
- break;
- }
- }
-}
-
#define HCS_HEADER_MACRO_MAX_LEN 150
static char *GenHeaderProtectionMacro()
{
- const char *outPutFileName = HcsGetStripedOutputFileName();
- char *headerMacro = strdup(outPutFileName);
- if (headerMacro == NULL) {
- HCS_ERROR("oom");
+ char *fileName = HcsGetOutputFileNameWithoutSuffix();
+ if (fileName == NULL) {
return NULL;
}
- StripFileNameSuffix(headerMacro, strlen(headerMacro));
- ToUpperString(headerMacro, strlen(headerMacro));
+ ToUpperString(fileName, strlen(fileName));
char *macro = HcsMemZalloc(sizeof(char) * HCS_HEADER_MACRO_MAX_LEN);
if (macro == NULL) {
HCS_ERROR("oom");
- HcsMemFree(headerMacro);
+ HcsMemFree(fileName);
return NULL;
}
- int32_t res = sprintf_s(macro, HCS_HEADER_MACRO_MAX_LEN, "HCS_CONFIG_%s_HEADER_H", headerMacro);
+ int32_t res = sprintf_s(macro, HCS_HEADER_MACRO_MAX_LEN, "HCS_CONFIG_%s_HEADER_H", fileName);
+ HcsMemFree(fileName);
if (res <= 0) {
- HcsMemFree(headerMacro);
HcsMemFree(macro);
return NULL;
}
- HcsMemFree(headerMacro);
return macro;
}
static int32_t HcsWriteHeaderFileHead()
{
/* Write copyright info */
- const char *header = HCS_CONFIG_FILE_HEADER;
- if (HcsOutputWrite(header, strlen(header))) {
- return EOUTPUT;
- }
+ OUTPUT_CHECK_AND_RETURN(HcsFormatOutputWrite(HCS_CONFIG_FILE_HEADER));
/* Write header protection macro */
char *headerProtectMacro = GenHeaderProtectionMacro();
if (headerProtectMacro == NULL) {
return EOUTPUT;
}
- char writeBuffer[WRITE_BUFFER_LEN] = {'\0'};
- int32_t ret = sprintf_s(writeBuffer, WRITE_BUFFER_LEN, "#ifndef %s\n#define %s\n\n",
- headerProtectMacro, headerProtectMacro);
- HcsMemFree(headerProtectMacro);
- if (ret <= 0) {
- return EOUTPUT;
- }
-
- if (HcsOutputWrite(writeBuffer, strlen(writeBuffer))) {
- return EOUTPUT;
- }
+ OUTPUT_CHECK_AND_RETURN(HcsFormatOutputWrite("#ifndef %s\n#define %s\n\n",
+ headerProtectMacro, headerProtectMacro));
/* Write include header file */
- header = HCS_CONFIG_INCLUDE_HEADER;
- if (HcsOutputWrite(header, strlen(header))) {
- return EOUTPUT;
- }
-
- return NOERR;
+ return HcsFormatOutputWrite(HCS_CONFIG_INCLUDE_HEADER);
}
static int32_t HcsWriteHeaderFileEnd()
{
- char writeBuffer[WRITE_BUFFER_LEN] = {'\0'};
/* Write header protection macro */
char *headerMacro = GenHeaderProtectionMacro();
if (headerMacro == NULL) {
return EOUTPUT;
}
- int32_t ret = sprintf_s(writeBuffer, (WRITE_BUFFER_LEN - 1), "#endif // %s", headerMacro);
+ int32_t ret = HcsFormatOutputWrite("\n\n#endif // %s", headerMacro);
HcsMemFree(headerMacro);
- if (ret <= 0) {
- return EOUTPUT;
- }
- return HcsOutputWrite(writeBuffer, strlen(writeBuffer));
+ return ret;
}
static int32_t HcsWriteFunctionDeclaration()
{
- char writeBuffer[WRITE_BUFFER_LEN] = {'\0'};
- int32_t ret = sprintf_s(writeBuffer, (WRITE_BUFFER_LEN - 1), HCS_CONFIG_INCLUDE_FUNC_DECLARATION, g_namePrefix,
+ return HcsFormatOutputWrite("const struct %s%sRoot* HdfGet%sModuleConfigRoot(void);", g_namePrefix,
g_bigHumpModuleName, g_bigHumpModuleName);
- if (ret <= 0) {
- return EOUTPUT;
- }
-
- return HcsOutputWrite(writeBuffer, strlen(writeBuffer));
}
static int32_t HcsWriteFunctionImplement()
{
- char writeBuffer[WRITE_BUFFER_LEN] = {'\0'};
- int32_t ret = sprintf_s(writeBuffer, (WRITE_BUFFER_LEN - 1), HCS_CONFIG_FUNC_IMPLEMENT, g_namePrefix,
+ return HcsFormatOutputWrite(HCS_CONFIG_FUNC_IMPLEMENT, g_namePrefix,
g_bigHumpModuleName, g_bigHumpModuleName, GetConfigRootVariableName());
- if (ret <= 0) {
- return EOUTPUT;
- }
-
- return HcsOutputWrite(writeBuffer, strlen(writeBuffer));
}
static int32_t HcsOutputHeaderFile()
@@ -1064,47 +946,33 @@ static int32_t HcsTemplateImplGenWalkCallBack(ParserObject *current, int32_t wal
return NOERR;
}
- char writeBuffer[WRITE_BUFFER_LEN] = {'\0'};
char nameBuff[OBJECT_NAME_MAX_LEN] = {'\0'};
int32_t res = GenConfigStructName(current, nameBuff, OBJECT_NAME_MAX_LEN - 1);
if (res) {
return res;
}
- res = sprintf_s(writeBuffer, sizeof(writeBuffer), "static const struct %s ", nameBuff);
- PRINTF_CHECK_AND_RETURN(res);
+ OUTPUT_CHECK_AND_RETURN(HcsFormatOutputWrite("static const struct %s ", nameBuff));
if (HcsGenTemplateVariableName(current, nameBuff, sizeof(nameBuff))) {
return EOUTPUT;
}
- res = sprintf_s(writeBuffer + strlen(writeBuffer), sizeof(writeBuffer) - strlen(writeBuffer),
- "%s[] = {\n", nameBuff);
- PRINTF_CHECK_AND_RETURN(res);
- HcsOutputWrite(writeBuffer, strlen(writeBuffer));
- /* Generate C global variables definition file */
+ OUTPUT_CHECK_AND_RETURN(HcsFormatOutputWrite("%s[] = {\n", nameBuff));
+ /* Generate C global variables definition file */
TemplateNodeInstance *subClasses = current->configNode.subClasses;
g_baseTabsize = TAB_SIZE + TAB_SIZE;
while (subClasses != NULL) {
- res = sprintf_s(writeBuffer, sizeof(writeBuffer), "%*c[%d] = {\n", TAB_SIZE, ' ',
- subClasses->nodeObject->inheritIndex);
- PRINTF_CHECK_AND_RETURN(res);
- if (HcsOutputWrite(writeBuffer, res)) {
- return EOUTPUT;
- }
+ OUTPUT_CHECK_AND_RETURN(HcsFormatOutputWrite("%*c[%d] = {\n", TAB_SIZE, ' ',
+ subClasses->nodeObject->inheritIndex));
+
if (HcsTemplateVariableGen((ParserObject *)subClasses->nodeObject)) {
return EOUTPUT;
}
- res = sprintf_s(writeBuffer, sizeof(writeBuffer), "%*c},\n", TAB_SIZE, ' ');
- PRINTF_CHECK_AND_RETURN(res);
- if (HcsOutputWrite(writeBuffer, strlen(writeBuffer))) {
- return EOUTPUT;
- }
+ OUTPUT_CHECK_AND_RETURN(HcsFormatOutputWrite("%*c},\n", TAB_SIZE, ' '));
subClasses = subClasses->next;
}
- res = sprintf_s(writeBuffer, sizeof(writeBuffer), "};\n\n");
- PRINTF_CHECK_AND_RETURN(res);
- return HcsOutputWrite(writeBuffer, strlen(writeBuffer));
+ return HcsFormatOutputWrite("};\n\n");
}
static int32_t HcsArrayVariablesDeclareGen(ParserObject *term)
@@ -1113,26 +981,21 @@ static int32_t HcsArrayVariablesDeclareGen(ParserObject *term)
return NOERR;
}
- char writeBuffer[WRITE_BUFFER_LEN] = {'\0'};
char nameBuff[OBJECT_NAME_MAX_LEN] = {'\0'};
int32_t res = GenConfigArrayName(term, nameBuff, OBJECT_NAME_MAX_LEN - 1);
if (res) {
return res;
}
ParserObject *array = (ParserObject *)term->configTerm.child;
- res = sprintf_s(writeBuffer, sizeof(writeBuffer), "\nstatic const %s %s[%d] = {\n%*c", GetArrayType(array),
+ res = HcsFormatOutputWrite("\nstatic const %s %s[%d] = {\n%*c", GetArrayType(array),
nameBuff, GetArraySize(array), TAB_SIZE, ' ');
- PRINTF_CHECK_AND_RETURN(res);
- if (HcsOutputWrite(writeBuffer, strlen(writeBuffer))) {
- return EOUTPUT;
- }
+ OUTPUT_CHECK_AND_RETURN(res);
+
if (HcsPrintArrayContent(array, TAB_SIZE)) {
HCS_ERROR("fail to write array content");
return EOUTPUT;
}
- res = sprintf_s(writeBuffer, sizeof(writeBuffer), "\n};\n");
- PRINTF_CHECK_AND_RETURN(res);
- return HcsOutputWrite(writeBuffer, strlen(writeBuffer));
+ return HcsFormatOutputWrite("\n};\n");
}
static int32_t HcsTemplateVariablesDeclareGenWalk(ParserObject *current, int32_t walkDepth)
@@ -1174,10 +1037,8 @@ static int32_t HcsTemplateVariablesDeclareGen(ParserObject *astRoot)
/* if no template variable generated, should not output end line */
return NOERR;
}
- char writeBuffer[WRITE_BUFFER_LEN] = {'\0'};
- int32_t res = sprintf_s(writeBuffer, sizeof(writeBuffer), "\n");
- PRINTF_CHECK_AND_RETURN(res);
- return HcsOutputWrite(writeBuffer, strlen(writeBuffer));
+ const char *lineEnd = "\n";
+ return HcsOutputWrite(lineEnd, strlen(lineEnd));
}
static int32_t HcsOutputTemplateImplement(ParserObject *astRoot)
@@ -1206,32 +1067,24 @@ static int32_t HcsOutputCFile()
return EINVALF;
}
- const char *header = HCS_CONFIG_FILE_HEADER;
- if (HcsOutputWrite(header, strlen(header))) {
- HcsCloseOutput(outputFIle);
- return EOUTPUT;
- }
-
- char include[INCLUDE_PATH_MAX_LEN] = {'\0'};
- int32_t res = sprintf_s(include, INCLUDE_PATH_MAX_LEN, "#include \"%s", HcsGetStripedOutputFileName());
- if (res <= 0) {
+ if (HcsFormatOutputWrite(HCS_CONFIG_FILE_HEADER)) {
HcsCloseOutput(outputFIle);
return EOUTPUT;
}
- res = sprintf_s(include + strlen(include) - 1, WRITE_BUFFER_LEN - strlen(include), "h\"\n\n");
- if (res <= 0) {
- HcsCloseOutput(outputFIle);
+ char *fileName = HcsGetOutputFileNameWithoutSuffix();
+ if (fileName == NULL) {
return EOUTPUT;
}
-
- if (HcsOutputWrite(include, strlen(include))) {
+ int32_t res = HcsFormatOutputWrite("#include \"%s.h\"\n\n", fileName);
+ HcsMemFree(fileName);
+ if (res != NOERR) {
HcsCloseOutput(outputFIle);
return EOUTPUT;
}
res = HcsOutputTemplateImplement(astRoot);
- if (res) {
+ if (res != NOERR) {
HcsCloseOutput(outputFIle);
return EOUTPUT;
}
@@ -1248,7 +1101,7 @@ static int32_t HcsOutputCFile()
return res;
}
-int32_t HcsTextCodeOutput()
+int32_t HcsTextCodeOutput(void)
{
int32_t ret = HcsSymbolTableInit();
if (ret) {