diff --git a/port/linux/package/pikascript/pikascript-lib/flashdb/_flashdb_FlashDB.c b/port/linux/package/pikascript/pikascript-lib/flashdb/_flashdb_FlashDB.c index ed15fb898..2917e5043 100644 --- a/port/linux/package/pikascript/pikascript-lib/flashdb/_flashdb_FlashDB.c +++ b/port/linux/package/pikascript/pikascript-lib/flashdb/_flashdb_FlashDB.c @@ -8,8 +8,6 @@ #define PIKA_USING_FLASHDB1 1 #if PIKA_USING_FLASHDB1 //#include <pthread.h> -#include <sys/stat.h> -#include <sys/types.h> #include "flashdb.h" #define FDB_LOG_TAG "[main]" @@ -40,7 +38,8 @@ static void unlock(fdb_db_t db) } */ static fdb_time_t get_time(void) { - return time(NULL); + // ms to s + return pika_platform_get_tick() / 1000; } #endif @@ -81,13 +80,13 @@ PikaObj* _flashdb_FlashDB_kv_get_blob(PikaObj* self, blob.size = size; uint8_t* buf = (uint8_t*)pikaMalloc(size + 1); if (!buf) { - printf("alloc fail\n"); + pika_platform_printf("alloc fail\n"); return NULL; } blob.buf = buf; size_t len = fdb_kv_get_blob(kvdb, key, &blob); if (len != size) { - printf("size error\n"); + pika_platform_printf("size error\n"); pikaFree(buf, size + 1); return NULL; } @@ -129,7 +128,7 @@ int _flashdb_FlashDB_kv_set_blob(PikaObj* self, ArgType argt_blob_in = arg_getType(blob_in); if (argt_blob_in != ARG_TYPE_BYTES) { - printf("blob must be bytes but got:%d", argt_blob_in); + pika_platform_printf("blob must be bytes but got:%d", argt_blob_in); } size_t len = arg_getBytesSize(blob_in); uint8_t* bytes = (uint8_t*)arg_getBytes(blob_in); @@ -187,9 +186,9 @@ int32_t _flashdb_foreach(PikaObj* self_dict, memcpy(pbytes, bytes, bytes_size); /* for (size_t i=0; i < bytes_size; i++) { - printf("%02x", bytes[i]); + pika_platform_printf("%02x", bytes[i]); } - printf("\n"); + pika_platform_printf("\n"); */ def_kv_table[g_def_kv_table_idx].key = strdup(key); def_kv_table[g_def_kv_table_idx].value = pbytes; @@ -204,7 +203,7 @@ PikaObj* _flashdb_FlashDB_kvdb_init(PikaObj* self, char* path, PikaObj* default_kv_in, Arg* user_data) { - printf("kvdb_init \n"); + pika_platform_printf("kvdb_init \n"); fdb_err_t result; if (!g_kvdb_path_inited) { @@ -216,7 +215,7 @@ PikaObj* _flashdb_FlashDB_kvdb_init(PikaObj* self, /* enable file mode */ fdb_kvdb_control(&g_kvdb, FDB_KVDB_CTRL_SET_FILE_MODE, &file_mode); /* create database directory */ - mkdir(path, 0777); + pika_platform_mkdir(path, 0777); g_kvdb_path_inited = true; } // int len =pikaDict_getSize(default_kv_in); diff --git a/port/linux/package/pikascript/pikascript-lib/flashdb/fdb.c b/port/linux/package/pikascript/pikascript-lib/flashdb/fdb.c index 099809771..f8ca44fce 100644 --- a/port/linux/package/pikascript/pikascript-lib/flashdb/fdb.c +++ b/port/linux/package/pikascript/pikascript-lib/flashdb/fdb.c @@ -141,7 +141,7 @@ void _fdb_deinit(fdb_db_t db) { } #else if (db->cur_file != 0) { - fclose(db->cur_file); + pika_platform_fclose(db->cur_file); } #endif /* FDB_USING_FILE_POSIX_MODE */ #endif /* FDB_USING_FILE_MODE */ diff --git a/port/linux/package/pikascript/pikascript-lib/flashdb/fdb_cfg.h b/port/linux/package/pikascript/pikascript-lib/flashdb/fdb_cfg.h index b100873ca..b62367fb7 100644 --- a/port/linux/package/pikascript/pikascript-lib/flashdb/fdb_cfg.h +++ b/port/linux/package/pikascript/pikascript-lib/flashdb/fdb_cfg.h @@ -25,7 +25,9 @@ #define FDB_USING_TSDB /* Using file storage mode by POSIX file API, like open/read/write/close */ -#define FDB_USING_FILE_POSIX_MODE +// #define FDB_USING_FILE_POSIX_MODE + +#define FDB_USING_FILE_LIBC_MODE /* log print macro. default EF_PRINT macro is printf() */ /* #define FDB_PRINT(...) my_printf(__VA_ARGS__) */ diff --git a/port/linux/package/pikascript/pikascript-lib/flashdb/fdb_def.h b/port/linux/package/pikascript/pikascript-lib/flashdb/fdb_def.h index e8c05d039..84ba3638f 100644 --- a/port/linux/package/pikascript/pikascript-lib/flashdb/fdb_def.h +++ b/port/linux/package/pikascript/pikascript-lib/flashdb/fdb_def.h @@ -13,6 +13,17 @@ #define _FDB_DEF_H_ #include "PikaObj.h" +#ifndef bool +#define bool pika_bool +#endif + +#ifndef true +#define true pika_true +#endif + +#ifndef false +#define false pika_false +#endif #ifdef __cplusplus extern "C" { diff --git a/port/linux/package/pikascript/pikascript-lib/flashdb/fdb_file.c b/port/linux/package/pikascript/pikascript-lib/flashdb/fdb_file.c index 7e0a29e63..d319749e6 100644 --- a/port/linux/package/pikascript/pikascript-lib/flashdb/fdb_file.c +++ b/port/linux/package/pikascript/pikascript-lib/flashdb/fdb_file.c @@ -144,21 +144,21 @@ static FILE* open_db_file(fdb_db_t db, uint32_t addr, bool clean) { get_db_file_path(db, addr, path, DB_PATH_MAX); if (db->cur_file) { - fclose(db->cur_file); + pika_platform_fclose(db->cur_file); } if (clean) { /* clean the old file */ - db->cur_file = fopen(path, "wb+"); + db->cur_file = pika_platform_fopen(path, "wb+"); if (db->cur_file == NULL) { FDB_INFO("Error: open (%s) file failed.\n", path); } else { - fclose(db->cur_file); + pika_platform_fclose(db->cur_file); } } /* open the database file */ - db->cur_file = fopen(path, "rb+"); + db->cur_file = pika_platform_fopen(path, "rb+"); db->cur_sec = sec_addr; } @@ -170,8 +170,8 @@ fdb_err_t _fdb_file_read(fdb_db_t db, uint32_t addr, void* buf, size_t size) { FILE* fp = open_db_file(db, addr, false); if (fp) { addr = addr % db->sec_size; - if ((fseek(fp, addr, SEEK_SET) != 0) || - (fread(buf, size, 1, fp) != size)) + if ((pika_platform_fseek(fp, addr, SEEK_SET) != 0) || + (pika_platform_fread(buf, size, 1, fp) != size)) result = FDB_READ_ERR; } else { result = FDB_READ_ERR; @@ -188,11 +188,11 @@ fdb_err_t _fdb_file_write(fdb_db_t db, FILE* fp = open_db_file(db, addr, false); if (fp) { addr = addr % db->sec_size; - if ((fseek(fp, addr, SEEK_SET) != 0) || - (fwrite(buf, size, 1, fp) != size)) + if ((pika_platform_fseek(fp, addr, SEEK_SET) != 0) || + (pika_platform_fwrite(buf, size, 1, fp) != size)) result = FDB_READ_ERR; if (sync) { - fflush(fp); + pika_platform_fflush(fp); } } else { result = FDB_READ_ERR; @@ -209,14 +209,14 @@ fdb_err_t _fdb_file_erase(fdb_db_t db, uint32_t addr, size_t size) { #define BUF_SIZE 32 uint8_t buf[BUF_SIZE]; size_t i; - fseek(fp, 0, SEEK_SET); + pika_platform_fseek(fp, 0, SEEK_SET); for (i = 0; i * BUF_SIZE < size; i++) { memset(buf, 0xFF, BUF_SIZE); - fwrite(buf, BUF_SIZE, 1, fp); + pika_platform_fwrite(buf, BUF_SIZE, 1, fp); } memset(buf, 0xFF, BUF_SIZE); - fwrite(buf, size - i * BUF_SIZE, 1, fp); - fflush(fp); + pika_platform_fwrite(buf, size - i * BUF_SIZE, 1, fp); + pika_platform_fflush(fp); } else { result = FDB_ERASE_ERR; }