From b54cd1ed5ae45c4f5789e266ea1f4f2e420ec306 Mon Sep 17 00:00:00 2001 From: lyon Date: Tue, 11 Jan 2022 22:22:53 +0800 Subject: [PATCH 1/2] auto convert int args and flot args --- port/linux/api-make-linux.sh | 0 port/linux/api-make-win10.sh | 0 port/linux/api-make.sh | 0 port/linux/ci_benchmark.sh | 0 port/linux/gtest.sh | 0 port/linux/init.sh | 0 port/linux/install_dependency.sh | 0 port/linux/make.sh | 0 port/linux/pkg-push.sh | 0 port/linux/pull-core.sh | 0 port/linux/push-core.sh | 0 port/linux/run.sh | 0 port/linux/test-banchmark.sh | 0 port/linux/test/args-test.cpp | 15 +++++++++++++++ port/linux/test/pikaMain-test.cpp | 2 +- port/linux/update-compiler.sh | 0 src/dataArgs.c | 16 ++++++++++++++-- 17 files changed, 30 insertions(+), 3 deletions(-) mode change 100644 => 100755 port/linux/api-make-linux.sh mode change 100644 => 100755 port/linux/api-make-win10.sh mode change 100644 => 100755 port/linux/api-make.sh mode change 100644 => 100755 port/linux/ci_benchmark.sh mode change 100644 => 100755 port/linux/gtest.sh mode change 100644 => 100755 port/linux/init.sh mode change 100644 => 100755 port/linux/install_dependency.sh mode change 100644 => 100755 port/linux/make.sh mode change 100644 => 100755 port/linux/pkg-push.sh mode change 100644 => 100755 port/linux/pull-core.sh mode change 100644 => 100755 port/linux/push-core.sh mode change 100644 => 100755 port/linux/run.sh mode change 100644 => 100755 port/linux/test-banchmark.sh mode change 100644 => 100755 port/linux/update-compiler.sh diff --git a/port/linux/api-make-linux.sh b/port/linux/api-make-linux.sh old mode 100644 new mode 100755 diff --git a/port/linux/api-make-win10.sh b/port/linux/api-make-win10.sh old mode 100644 new mode 100755 diff --git a/port/linux/api-make.sh b/port/linux/api-make.sh old mode 100644 new mode 100755 diff --git a/port/linux/ci_benchmark.sh b/port/linux/ci_benchmark.sh old mode 100644 new mode 100755 diff --git a/port/linux/gtest.sh b/port/linux/gtest.sh old mode 100644 new mode 100755 diff --git a/port/linux/init.sh b/port/linux/init.sh old mode 100644 new mode 100755 diff --git a/port/linux/install_dependency.sh b/port/linux/install_dependency.sh old mode 100644 new mode 100755 diff --git a/port/linux/make.sh b/port/linux/make.sh old mode 100644 new mode 100755 diff --git a/port/linux/pkg-push.sh b/port/linux/pkg-push.sh old mode 100644 new mode 100755 diff --git a/port/linux/pull-core.sh b/port/linux/pull-core.sh old mode 100644 new mode 100755 diff --git a/port/linux/push-core.sh b/port/linux/push-core.sh old mode 100644 new mode 100755 diff --git a/port/linux/run.sh b/port/linux/run.sh old mode 100644 new mode 100755 diff --git a/port/linux/test-banchmark.sh b/port/linux/test-banchmark.sh old mode 100644 new mode 100755 diff --git a/port/linux/test/args-test.cpp b/port/linux/test/args-test.cpp index fff02b2bc..b39b93c0e 100644 --- a/port/linux/test/args-test.cpp +++ b/port/linux/test/args-test.cpp @@ -179,4 +179,19 @@ TEST(args, index) { /* check memory */ args_deinit(args); EXPECT_EQ(pikaMemNow(), 0); +} + +TEST(args, int_float_convert) { + Args* args = New_args(NULL); + args_setInt(args, (char*)"a", 10); + args_setFloat(args, (char*)"b", 2.333); + + float a = args_getFloat(args, (char*)"a"); + int b = args_getInt(args, (char*)"b"); + /* assert */ + EXPECT_EQ(a, 10); + EXPECT_FLOAT_EQ(b, 2); + /* check memory */ + args_deinit(args); + EXPECT_EQ(pikaMemNow(), 0); } \ No newline at end of file diff --git a/port/linux/test/pikaMain-test.cpp b/port/linux/test/pikaMain-test.cpp index ced49350e..2380eeb8d 100644 --- a/port/linux/test/pikaMain-test.cpp +++ b/port/linux/test/pikaMain-test.cpp @@ -284,7 +284,7 @@ TEST(pikaMain, PikaStdData) { int b = obj_getInt(pikaMain, (char*)"b"); /* assert */ EXPECT_EQ(a, 1); - EXPECT_EQ(b, 0); + EXPECT_EQ(b, -999999999); /* deinit */ obj_deinit(pikaMain); diff --git a/port/linux/update-compiler.sh b/port/linux/update-compiler.sh old mode 100644 new mode 100755 diff --git a/src/dataArgs.c b/src/dataArgs.c index e9efaf3f1..57b576f12 100644 --- a/src/dataArgs.c +++ b/src/dataArgs.c @@ -108,7 +108,13 @@ int64_t args_getInt(Args* self, char* name) { if (NULL == arg) { return -999999999; } - return arg_getInt(arg); + ArgType arg_type = arg_getType(arg); + if (arg_type == TYPE_INT) { + return arg_getInt(arg); + } else if (arg_type == TYPE_FLOAT) { + return (int)arg_getFloat(arg); + } + return -999999999; } int32_t args_getSize(Args* self) { @@ -129,7 +135,13 @@ float args_getFloat(Args* self, char* name) { if (NULL == arg) { return -999999999.0; } - return arg_getFloat(arg); + ArgType arg_type = arg_getType(arg); + if (arg_type == TYPE_FLOAT) { + return arg_getFloat(arg); + } else if (arg_type == TYPE_INT) { + return (float)arg_getInt(arg); + } + return -999999999.0; } int32_t args_copyArg(Args* self, Arg* argToBeCopy) { From 7845b873eaed0836e1f41ab35be43d3731a3b53b Mon Sep 17 00:00:00 2001 From: lyon Date: Tue, 11 Jan 2022 22:26:21 +0800 Subject: [PATCH 2/2] add fix to v1.3.2 --- packages.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages.toml b/packages.toml index 100726e9d..d25e673b5 100644 --- a/packages.toml +++ b/packages.toml @@ -23,7 +23,7 @@ releases = [ "v1.2.9 c35940141816c74e164c83c38bcdab7d6ffe1a2f", "v1.3.0 3032d3d05423b5f3dd2a4efe1f8eadd1d835f58f", "v1.3.1 343a1d56c53bba78fce9a0cd0cc8dfcd580632be", - "v1.3.2 fd7c2f93aa8e0870c0acd534b79604265afd265e", + "v1.3.2 b54cd1ed5ae45c4f5789e266ea1f4f2e420ec306", ] [[packages]] @@ -39,7 +39,7 @@ releases = [ "v1.2.5 c35940141816c74e164c83c38bcdab7d6ffe1a2f", "v1.3.0 5eedf8be911f4c389c5496a79b600004077039f5", "v1.3.1 343a1d56c53bba78fce9a0cd0cc8dfcd580632be", - "v1.3.2 fd7c2f93aa8e0870c0acd534b79604265afd265e", + "v1.3.2 b54cd1ed5ae45c4f5789e266ea1f4f2e420ec306", ] [[packages]] @@ -48,7 +48,7 @@ releases = [ "v0.0.1 74426e4bd3e97060f06b2cb451a38042b5634abc", "v0.0.9 2d22ed170a7766c3ce6716ca123bdf5a83e344ed", "v1.3.1 343a1d56c53bba78fce9a0cd0cc8dfcd580632be", - "v1.3.2 fd7c2f93aa8e0870c0acd534b79604265afd265e", + "v1.3.2 b54cd1ed5ae45c4f5789e266ea1f4f2e420ec306", ] [[packages]]