From c9feb64269fd8d16a5ba6d21999f4f966752021d Mon Sep 17 00:00:00 2001 From: rmknan Date: Thu, 14 Sep 2023 20:22:02 -0400 Subject: [PATCH 01/19] Made changes to header files for documentation --- include/stumpless/element.h | 2 +- include/stumpless/param.h | 2 +- src/param.c | 28 ++++++++++++++++++---------- test/function/element.cpp | 2 +- test/function/param.cpp | 2 +- 5 files changed, 22 insertions(+), 14 deletions(-) diff --git a/include/stumpless/element.h b/include/stumpless/element.h index 6ddb28e0d..3e9b913d3 100644 --- a/include/stumpless/element.h +++ b/include/stumpless/element.h @@ -369,7 +369,7 @@ stumpless_element_has_param( const struct stumpless_element *element, * * @param element The element to get the name and params from. * - * @return The formatted string of or :[param1,...] if no error is encountered. + * @return The formatted string of name or name=[param1,...] if no error is encountered. * If an error is encountered, then NULL is returned and an error code is set appropriately. */ STUMPLESS_PUBLIC_FUNCTION diff --git a/include/stumpless/param.h b/include/stumpless/param.h index 0e346d286..20f0c008d 100644 --- a/include/stumpless/param.h +++ b/include/stumpless/param.h @@ -411,7 +411,7 @@ stumpless_set_param_value( struct stumpless_param *param, const char *value ); * * @param param The param to get the name and the value from. * - * @return The formatted string of "param_name: param_value" if no error is + * @return The formatted string of "param_name=param_value" if no error is * encountered. If an error is encountered, then NULL is returned and an * error code is set appropriately. */ diff --git a/src/param.c b/src/param.c index 564ef143a..beb6b3def 100644 --- a/src/param.c +++ b/src/param.c @@ -215,23 +215,31 @@ stumpless_param_to_string( const struct stumpless_param *param ) { name_len = param->name_length; value_len = param->value_length; - /* : */ - format = alloc_mem( value_len + name_len + 6 ); + // /* : */ + /* name="value"*/ + format = alloc_mem( value_len + name_len + 4 ); if( !format ) { goto fail; } - memcpy(format + 1, name, name_len); - memcpy(format + name_len + 4, value, value_len); + // memcpy(format + 1, name, name_len); + // memcpy(format + name_len + 4, value, value_len); + memcpy(format, name, name_len); + memcpy(format + name_len + 2, value, value_len); unlock_param( param ); - format[0] = '<'; - format[name_len + 1] = '>'; - format[name_len + 2] = ':'; - format[name_len + 3] = '<'; - format[name_len + value_len + 4] = '>'; - format[name_len + value_len + 5] = '\0'; + // format[0] = '<'; + // format[name_len + 1] = '>'; + // format[name_len + 2] = ':'; + // format[name_len + 3] = '<'; + // format[name_len + value_len + 4] = '>'; + // format[name_len + value_len + 5] = '\0'; + + format[name_len ] = '='; + format[name_len + 1] = '\"'; + format[name_len + value_len + 2] = '"'; + format[name_len + value_len + 3] = '\0' clear_error( ); diff --git a/test/function/element.cpp b/test/function/element.cpp index b27244525..9d81caa87 100644 --- a/test/function/element.cpp +++ b/test/function/element.cpp @@ -808,7 +808,7 @@ namespace { format = stumpless_element_to_string( element_with_params ); ASSERT_NOT_NULL( format ); - EXPECT_STREQ( format, ":[:,:]" ); + EXPECT_STREQ( format, ":[param-1=\"value-1\",param-2=\"value-2\"]" ); EXPECT_NO_ERROR; free( ( void * ) format ); diff --git a/test/function/param.cpp b/test/function/param.cpp index fd772907f..e377c5ce7 100644 --- a/test/function/param.cpp +++ b/test/function/param.cpp @@ -174,7 +174,7 @@ namespace { format = stumpless_param_to_string( &basic_param ); ASSERT_NOT_NULL( format ); - EXPECT_STREQ( format, ":" ); + EXPECT_STREQ( format, "basic-name=\"basic-value\"" ); EXPECT_NO_ERROR; free( ( void * ) format ); From c58b5ffb06f321b153e6e884953ba7383a7b497b Mon Sep 17 00:00:00 2001 From: rmknan Date: Thu, 14 Sep 2023 20:24:23 -0400 Subject: [PATCH 02/19] Redid the changes to files --- src/param.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/param.c b/src/param.c index beb6b3def..01c180a64 100644 --- a/src/param.c +++ b/src/param.c @@ -238,8 +238,8 @@ stumpless_param_to_string( const struct stumpless_param *param ) { format[name_len ] = '='; format[name_len + 1] = '\"'; - format[name_len + value_len + 2] = '"'; - format[name_len + value_len + 3] = '\0' + format[name_len + value_len + 2] = '\"'; + format[name_len + value_len + 3] = '\0'; clear_error( ); From 13bffe3f191d3be696f777ab4af6f4f3163e9037 Mon Sep 17 00:00:00 2001 From: rmknan Date: Thu, 14 Sep 2023 22:22:11 -0400 Subject: [PATCH 03/19] removed the commented lines --- src/param.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/param.c b/src/param.c index 01c180a64..d2f05d5a4 100644 --- a/src/param.c +++ b/src/param.c @@ -215,27 +215,18 @@ stumpless_param_to_string( const struct stumpless_param *param ) { name_len = param->name_length; value_len = param->value_length; - // /* : */ /* name="value"*/ format = alloc_mem( value_len + name_len + 4 ); if( !format ) { goto fail; } - // memcpy(format + 1, name, name_len); - // memcpy(format + name_len + 4, value, value_len); + memcpy(format, name, name_len); memcpy(format + name_len + 2, value, value_len); unlock_param( param ); - // format[0] = '<'; - // format[name_len + 1] = '>'; - // format[name_len + 2] = ':'; - // format[name_len + 3] = '<'; - // format[name_len + value_len + 4] = '>'; - // format[name_len + value_len + 5] = '\0'; - format[name_len ] = '='; format[name_len + 1] = '\"'; format[name_len + value_len + 2] = '\"'; From 53f7fe9aa1857fc8e0e23b3eee51e5a79209aeff Mon Sep 17 00:00:00 2001 From: rmknan Date: Fri, 15 Sep 2023 19:31:06 -0400 Subject: [PATCH 04/19] Made changes to target and stumpless_private and new header file --- .../config/wrapper/open_default_target.h | 40 +++++++++++++++++++ src/target.c | 1 + tools/check_headers/stumpless_private.yml | 1 + 3 files changed, 42 insertions(+) create mode 100644 include/private/config/wrapper/open_default_target.h diff --git a/include/private/config/wrapper/open_default_target.h b/include/private/config/wrapper/open_default_target.h new file mode 100644 index 000000000..0f05d1e25 --- /dev/null +++ b/include/private/config/wrapper/open_default_target.h @@ -0,0 +1,40 @@ +/* SPDX-License-Identifier: Apache-2.0 */ + +/* + * Copyright 2022 Joel E. Anderson + * + * 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. + */ + +#ifndef __STUMPLESS_PRIVATE_CONFIG_WRAPPER_CONFIG_OPEN_DEFAULT_TARGET_H +# define __STUMPLESS_PRIVATE_CONFIG_WRAPPER_CONFIG_OPEN_DEFAULT_TARGET_H + + +/* definition of config_open_default_target */ +# ifdef STUMPLESS_WINDOWS_EVENT_LOG_TARGETS_SUPPORTED +# include "private/config/wel_supported.h" +# include "stumpless/target/wel.h" +# define config_open_default_target wel_open_default_target +# define config_close_default_target stumpless_close_wel_target +# elif STUMPLESS_SOCKET_TARGETS_SUPPORTED +# include +# include "private/config/socket_supported.h" +# define config_open_default_target socket_open_default_target +# define config_close_default_target stumpless_close_socket_target +# else +# include +# include "private/target/file.h" +# define config_open_default_target file_open_default_target +# define config_close_default_target stumpless_close_file_target +# endif +#endif /* __STUMPLESS_PRIVATE_CONFIG_OPEN_DEFAULT_TARGET_H */ diff --git a/src/target.c b/src/target.c index 34c12920f..7f0820b9f 100644 --- a/src/target.c +++ b/src/target.c @@ -40,6 +40,7 @@ #include "private/config/network_support_wrapper.h" #include "private/config/locale/wrapper.h" #include "private/config/wrapper.h" +#include "private/config/wrapper/config_open_default_target.h" #include "private/config/wrapper/wel.h" #include "private/config/wrapper/journald.h" #include "private/config/wrapper/socket.h" diff --git a/tools/check_headers/stumpless_private.yml b/tools/check_headers/stumpless_private.yml index 7432c5e64..5d486a10a 100644 --- a/tools/check_headers/stumpless_private.yml +++ b/tools/check_headers/stumpless_private.yml @@ -21,6 +21,7 @@ "config_format_string": "private/config/wrapper/format_string.h" "config_get_local_socket_name": "private/config/wrapper/socket.h" "config_get_now": "private/config/wrapper/get_now.h" +"config_open_default_target": "private/config/wrapper/config_open_default_target.h" "config_gethostbyname": "private/config/wrapper/gethostbyname.h" "config_gethostname": "private/config/wrapper/gethostname.h" "config_getpagesize": "private/config/wrapper/getpagesize.h" From 8f933271e65fcaf8d8cbde6747e3300e2eb9109e Mon Sep 17 00:00:00 2001 From: rmknan Date: Fri, 15 Sep 2023 19:45:18 -0400 Subject: [PATCH 05/19] Made changes to wrapper.h --- include/private/config/wrapper.h | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/include/private/config/wrapper.h b/include/private/config/wrapper.h index 3ac7bb799..2d92e4f02 100644 --- a/include/private/config/wrapper.h +++ b/include/private/config/wrapper.h @@ -16,27 +16,6 @@ * limitations under the License. */ -#ifndef __STUMPLESS_PRIVATE_CONFIG_WRAPPER_H -# define __STUMPLESS_PRIVATE_CONFIG_WRAPPER_H -# include -/* definition of config_open_default_target */ -# ifdef STUMPLESS_WINDOWS_EVENT_LOG_TARGETS_SUPPORTED -# include "private/config/wel_supported.h" -# include "stumpless/target/wel.h" -# define config_open_default_target wel_open_default_target -# define config_close_default_target stumpless_close_wel_target -# elif STUMPLESS_SOCKET_TARGETS_SUPPORTED -# include -# include "private/config/socket_supported.h" -# define config_open_default_target socket_open_default_target -# define config_close_default_target stumpless_close_socket_target -# else -# include -# include "private/target/file.h" -# define config_open_default_target file_open_default_target -# define config_close_default_target stumpless_close_file_target -# endif -#endif /* __STUMPLESS_PRIVATE_CONFIG_WRAPPER_H */ From 900fb5dc085b6ea7b79e304482faa85906e53f9b Mon Sep 17 00:00:00 2001 From: rmknan Date: Fri, 15 Sep 2023 19:52:29 -0400 Subject: [PATCH 06/19] Made changes to target and stumpless.yml --- src/target.c | 2 +- tools/check_headers/stumpless.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/target.c b/src/target.c index 7f0820b9f..715346b17 100644 --- a/src/target.c +++ b/src/target.c @@ -39,7 +39,7 @@ #include "private/config.h" #include "private/config/network_support_wrapper.h" #include "private/config/locale/wrapper.h" -#include "private/config/wrapper.h" +// #include "private/config/wrapper.h" #include "private/config/wrapper/config_open_default_target.h" #include "private/config/wrapper/wel.h" #include "private/config/wrapper/journald.h" diff --git a/tools/check_headers/stumpless.yml b/tools/check_headers/stumpless.yml index 330987e3c..9197ee9e2 100644 --- a/tools/check_headers/stumpless.yml +++ b/tools/check_headers/stumpless.yml @@ -18,7 +18,7 @@ "CATEGORY_TREE": "docs/examples/wel/example_events.h" "clear_error": "private/error.h" "close_server_socket": "test/helper/server.hpp" -"config_close_default_target": "private/config/wrapper.h" +"config_close_default_target": "private/config/wrapper/config_open_default_target.h" "config_close_network_target": "private/config/network_support_wrapper.h" "config_close_tcp4_target": "private/config/network_support_wrapper.h" "config_close_udp4_target": "private/config/network_support_wrapper.h" From b64014469a5ed251dea12829caa7d1a5f6cb5c8e Mon Sep 17 00:00:00 2001 From: rmknan Date: Fri, 15 Sep 2023 20:05:52 -0400 Subject: [PATCH 07/19] Made changes to new header --- include/private/config/wrapper.h | 21 +++++++++++++++++++ .../config/wrapper/open_default_target.h | 1 + 2 files changed, 22 insertions(+) diff --git a/include/private/config/wrapper.h b/include/private/config/wrapper.h index 2d92e4f02..fd006fa31 100644 --- a/include/private/config/wrapper.h +++ b/include/private/config/wrapper.h @@ -16,6 +16,27 @@ * limitations under the License. */ +#ifndef __STUMPLESS_PRIVATE_CONFIG_WRAPPER_H +# define __STUMPLESS_PRIVATE_CONFIG_WRAPPER_H +// # include +// /* definition of config_open_default_target */ +// # ifdef STUMPLESS_WINDOWS_EVENT_LOG_TARGETS_SUPPORTED +// # include "private/config/wel_supported.h" +// # include "stumpless/target/wel.h" +// # define config_open_default_target wel_open_default_target +// # define config_close_default_target stumpless_close_wel_target +// # elif STUMPLESS_SOCKET_TARGETS_SUPPORTED +// # include +// # include "private/config/socket_supported.h" +// # define config_open_default_target socket_open_default_target +// # define config_close_default_target stumpless_close_socket_target +// # else +// # include +// # include "private/target/file.h" +// # define config_open_default_target file_open_default_target +// # define config_close_default_target stumpless_close_file_target +// # endif +// #endif /* __STUMPLESS_PRIVATE_CONFIG_WRAPPER_H */ diff --git a/include/private/config/wrapper/open_default_target.h b/include/private/config/wrapper/open_default_target.h index 0f05d1e25..76f79f321 100644 --- a/include/private/config/wrapper/open_default_target.h +++ b/include/private/config/wrapper/open_default_target.h @@ -19,6 +19,7 @@ #ifndef __STUMPLESS_PRIVATE_CONFIG_WRAPPER_CONFIG_OPEN_DEFAULT_TARGET_H # define __STUMPLESS_PRIVATE_CONFIG_WRAPPER_CONFIG_OPEN_DEFAULT_TARGET_H +# include /* definition of config_open_default_target */ # ifdef STUMPLESS_WINDOWS_EVENT_LOG_TARGETS_SUPPORTED From fc39738101f5c9b721fb92b6e0e3c1c9f38083dc Mon Sep 17 00:00:00 2001 From: rmknan Date: Fri, 15 Sep 2023 20:10:08 -0400 Subject: [PATCH 08/19] Made changes to stumpless.yml --- tools/check_headers/stumpless.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/check_headers/stumpless.yml b/tools/check_headers/stumpless.yml index 9197ee9e2..c409cc2c4 100644 --- a/tools/check_headers/stumpless.yml +++ b/tools/check_headers/stumpless.yml @@ -32,7 +32,7 @@ "config_init_udp4": "private/config/network_support_wrapper.h" "config_network_free_all": "private/config/network_support_wrapper.h" "config_network_target_is_open": "private/config/network_support_wrapper.h" -"config_open_default_target": "private/config/wrapper.h" +"config_open_default_target": "private/config/wrapper/config_open_default_target.h" "config_open_network_target": "private/config/network_support_wrapper.h" "config_open_tcp4_target": "private/config/network_support_wrapper.h" "config_open_udp4_target": "private/config/network_support_wrapper.h" From c2a9be63d9a1d8bff885e8cd15fe6296581a6cd2 Mon Sep 17 00:00:00 2001 From: rmknan Date: Fri, 15 Sep 2023 21:08:36 -0400 Subject: [PATCH 09/19] Working- All changes done --- include/private/config/wrapper.h | 42 ------------------- .../config/wrapper/open_default_target.h | 1 + src/target.c | 2 +- tools/check_headers/stumpless.yml | 11 +---- tools/check_headers/stumpless_private.yml | 1 - 5 files changed, 4 insertions(+), 53 deletions(-) delete mode 100644 include/private/config/wrapper.h diff --git a/include/private/config/wrapper.h b/include/private/config/wrapper.h deleted file mode 100644 index fd006fa31..000000000 --- a/include/private/config/wrapper.h +++ /dev/null @@ -1,42 +0,0 @@ -/* SPDX-License-Identifier: Apache-2.0 */ - -/* -* Copyright 2018-2022 Joel E. Anderson -* -* 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. -*/ - -#ifndef __STUMPLESS_PRIVATE_CONFIG_WRAPPER_H -# define __STUMPLESS_PRIVATE_CONFIG_WRAPPER_H - -// # include - -// /* definition of config_open_default_target */ -// # ifdef STUMPLESS_WINDOWS_EVENT_LOG_TARGETS_SUPPORTED -// # include "private/config/wel_supported.h" -// # include "stumpless/target/wel.h" -// # define config_open_default_target wel_open_default_target -// # define config_close_default_target stumpless_close_wel_target -// # elif STUMPLESS_SOCKET_TARGETS_SUPPORTED -// # include -// # include "private/config/socket_supported.h" -// # define config_open_default_target socket_open_default_target -// # define config_close_default_target stumpless_close_socket_target -// # else -// # include -// # include "private/target/file.h" -// # define config_open_default_target file_open_default_target -// # define config_close_default_target stumpless_close_file_target -// # endif - -// #endif /* __STUMPLESS_PRIVATE_CONFIG_WRAPPER_H */ diff --git a/include/private/config/wrapper/open_default_target.h b/include/private/config/wrapper/open_default_target.h index 76f79f321..b4b2bf223 100644 --- a/include/private/config/wrapper/open_default_target.h +++ b/include/private/config/wrapper/open_default_target.h @@ -21,6 +21,7 @@ # include + /* definition of config_open_default_target */ # ifdef STUMPLESS_WINDOWS_EVENT_LOG_TARGETS_SUPPORTED # include "private/config/wel_supported.h" diff --git a/src/target.c b/src/target.c index 715346b17..708b24f38 100644 --- a/src/target.c +++ b/src/target.c @@ -40,7 +40,7 @@ #include "private/config/network_support_wrapper.h" #include "private/config/locale/wrapper.h" // #include "private/config/wrapper.h" -#include "private/config/wrapper/config_open_default_target.h" +#include "private/config/wrapper/open_default_target.h" #include "private/config/wrapper/wel.h" #include "private/config/wrapper/journald.h" #include "private/config/wrapper/socket.h" diff --git a/tools/check_headers/stumpless.yml b/tools/check_headers/stumpless.yml index c409cc2c4..dcddd109e 100644 --- a/tools/check_headers/stumpless.yml +++ b/tools/check_headers/stumpless.yml @@ -18,32 +18,25 @@ "CATEGORY_TREE": "docs/examples/wel/example_events.h" "clear_error": "private/error.h" "close_server_socket": "test/helper/server.hpp" -"config_close_default_target": "private/config/wrapper/config_open_default_target.h" +"config_close_default_target": "private/config/wrapper/open_default_target.h" "config_close_network_target": "private/config/network_support_wrapper.h" "config_close_tcp4_target": "private/config/network_support_wrapper.h" "config_close_udp4_target": "private/config/network_support_wrapper.h" -"config_copy_wel_fields": "private/config/wrapper.h" -"config_destroy_insertion_params": "private/config/wrapper.h" -"config_fopen": "private/config/wrapper.h" -"config_gethostname": "private/config/wrapper.h" "config_getpagesize": "private/config/wrapper/getpagesize.h" "config_get_now": "private/config/wrapper/get_now.h" "config_init_tcp4": "private/config/network_support_wrapper.h" "config_init_udp4": "private/config/network_support_wrapper.h" "config_network_free_all": "private/config/network_support_wrapper.h" "config_network_target_is_open": "private/config/network_support_wrapper.h" -"config_open_default_target": "private/config/wrapper/config_open_default_target.h" +"config_open_default_target": "private/config/wrapper/open_default_target.h" "config_open_network_target": "private/config/network_support_wrapper.h" "config_open_tcp4_target": "private/config/network_support_wrapper.h" "config_open_udp4_target": "private/config/network_support_wrapper.h" "config_reopen_tcp4_target": "private/config/network_support_wrapper.h" "config_reopen_udp4_target": "private/config/network_support_wrapper.h" -"config_send_entry_to_wel_target": "private/config/wrapper.h" "config_sendto_network_target": "private/config/network_support_wrapper.h" "config_sendto_tcp4_target": "private/config/network_support_wrapper.h" "config_sendto_udp4_target": "private/config/network_support_wrapper.h" -"config_set_tcp4_port": "private/config/wrapper.h" -"config_set_udp4_port": "private/config/wrapper.h" "config_socket_handle_t": "private/config/network_support_wrapper.h" "config_tcp4_is_open": "private/config/network_support_wrapper.h" "config_udp4_is_open": "private/config/network_support_wrapper.h" diff --git a/tools/check_headers/stumpless_private.yml b/tools/check_headers/stumpless_private.yml index 5d486a10a..7432c5e64 100644 --- a/tools/check_headers/stumpless_private.yml +++ b/tools/check_headers/stumpless_private.yml @@ -21,7 +21,6 @@ "config_format_string": "private/config/wrapper/format_string.h" "config_get_local_socket_name": "private/config/wrapper/socket.h" "config_get_now": "private/config/wrapper/get_now.h" -"config_open_default_target": "private/config/wrapper/config_open_default_target.h" "config_gethostbyname": "private/config/wrapper/gethostbyname.h" "config_gethostname": "private/config/wrapper/gethostname.h" "config_getpagesize": "private/config/wrapper/getpagesize.h" From c986a920020a9b340c2ced86047f4cff26698bf4 Mon Sep 17 00:00:00 2001 From: rmknan Date: Sat, 16 Sep 2023 15:56:54 -0400 Subject: [PATCH 10/19] made the requested changes --- include/private/config/wrapper/open_default_target.h | 6 +++--- src/target.c | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/include/private/config/wrapper/open_default_target.h b/include/private/config/wrapper/open_default_target.h index b4b2bf223..29e5723d8 100644 --- a/include/private/config/wrapper/open_default_target.h +++ b/include/private/config/wrapper/open_default_target.h @@ -16,8 +16,8 @@ * limitations under the License. */ -#ifndef __STUMPLESS_PRIVATE_CONFIG_WRAPPER_CONFIG_OPEN_DEFAULT_TARGET_H -# define __STUMPLESS_PRIVATE_CONFIG_WRAPPER_CONFIG_OPEN_DEFAULT_TARGET_H +#ifndef __STUMPLESS_PRIVATE_CONFIG_WRAPPER_OPEN_DEFAULT_TARGET_H +# define __STUMPLESS_PRIVATE_CONFIG_WRAPPER_OPEN_DEFAULT_TARGET_H # include @@ -39,4 +39,4 @@ # define config_open_default_target file_open_default_target # define config_close_default_target stumpless_close_file_target # endif -#endif /* __STUMPLESS_PRIVATE_CONFIG_OPEN_DEFAULT_TARGET_H */ +#endif /* __STUMPLESS_PRIVATE_CONFIG_WRAPPER_OPEN_DEFAULT_TARGET_H */ diff --git a/src/target.c b/src/target.c index 708b24f38..9755a1d69 100644 --- a/src/target.c +++ b/src/target.c @@ -39,7 +39,6 @@ #include "private/config.h" #include "private/config/network_support_wrapper.h" #include "private/config/locale/wrapper.h" -// #include "private/config/wrapper.h" #include "private/config/wrapper/open_default_target.h" #include "private/config/wrapper/wel.h" #include "private/config/wrapper/journald.h" From f335d4f93e04753bad989da33373646221e3e936 Mon Sep 17 00:00:00 2001 From: rmknan Date: Sat, 16 Sep 2023 16:54:12 -0400 Subject: [PATCH 11/19] Made changes to element.c format --- src/element.c | 15 ++++++--------- test/function/element.cpp | 4 ++-- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/element.c b/src/element.c index a10971878..994b5af8d 100644 --- a/src/element.c +++ b/src/element.c @@ -229,10 +229,10 @@ stumpless_element_to_string( const struct stumpless_element *element ) { goto fail; } - memcpy( format + 1, name, name_len ); + memcpy( format, name, name_len ); // build params list "param_1_to_string,param_2_to_string, ..." - size_t pos_offset = name_len + 4; + size_t pos_offset = name_len + 2; for( size_t i = 0; i < param_count; i++) { // replace '\0' with ',' at the end of each string memcpy( format + pos_offset, params_format[i], strlen(params_format[i])); @@ -246,16 +246,13 @@ stumpless_element_to_string( const struct stumpless_element *element ) { unlock_element( element ); - format[0] = '<'; - format[name_len + 1] = '>'; - if (param_count != 0 ) { - // :[param_1_to_string,param_2_to_string,etc.] (with params) - format[name_len + 2] = ':'; - format[name_len + 3] = '['; + // name=[param_1_to_string,param_2_to_string,etc.] (with params) + format[name_len ] = '='; + format[name_len + 1] = '['; format[pos_offset] = ']'; } else { - // (no params) + // name (no params) // pos_offset is name_len + 4 here pos_offset -= 3; } diff --git a/test/function/element.cpp b/test/function/element.cpp index 9d81caa87..b8b44df68 100644 --- a/test/function/element.cpp +++ b/test/function/element.cpp @@ -808,7 +808,7 @@ namespace { format = stumpless_element_to_string( element_with_params ); ASSERT_NOT_NULL( format ); - EXPECT_STREQ( format, ":[param-1=\"value-1\",param-2=\"value-2\"]" ); + EXPECT_STREQ( format, "element-with-params=[param-1=\"value-1\",param-2=\"value-2\"]" ); EXPECT_NO_ERROR; free( ( void * ) format ); @@ -820,7 +820,7 @@ namespace { format = stumpless_element_to_string( basic_element ); ASSERT_NOT_NULL( format ); - EXPECT_STREQ( format, "" ); + EXPECT_STREQ( format, "basic-element" ); EXPECT_NO_ERROR; free( ( void * ) format ); From 13a182403ef695fcb62a48280c681488905a8d6e Mon Sep 17 00:00:00 2001 From: rmknan Date: Tue, 19 Sep 2023 16:26:04 -0400 Subject: [PATCH 12/19] Edited the format len offset at line 221 and 224 --- src/element.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/element.c b/src/element.c index 994b5af8d..ff13bc2e4 100644 --- a/src/element.c +++ b/src/element.c @@ -218,10 +218,10 @@ stumpless_element_to_string( const struct stumpless_element *element ) { if( param_count != 0 ) { // extra param list chars and commas - format_len += 6 + param_count - 1; + format_len += 4 + param_count - 1; } else { // no params, just name - format_len += 3; + format_len += 1; } format = alloc_mem( format_len ); @@ -253,8 +253,8 @@ stumpless_element_to_string( const struct stumpless_element *element ) { format[pos_offset] = ']'; } else { // name (no params) - // pos_offset is name_len + 4 here - pos_offset -= 3; + // pos_offset is name_len + 2 here + pos_offset -= 1; } format[pos_offset + 1] = '\0'; From 845c9b26d528d3cd09d6d6d2fc7a2e8a018e7856 Mon Sep 17 00:00:00 2001 From: rmknan Date: Thu, 21 Sep 2023 16:22:42 -0400 Subject: [PATCH 13/19] Edited the format len offset at line 221 and 224 --- src/element.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/element.c b/src/element.c index ff13bc2e4..4a75ceb9f 100644 --- a/src/element.c +++ b/src/element.c @@ -218,10 +218,10 @@ stumpless_element_to_string( const struct stumpless_element *element ) { if( param_count != 0 ) { // extra param list chars and commas - format_len += 4 + param_count - 1; + format_len += 3 + param_count - 1; } else { // no params, just name - format_len += 1; + format_len += 2; } format = alloc_mem( format_len ); @@ -254,7 +254,7 @@ stumpless_element_to_string( const struct stumpless_element *element ) { } else { // name (no params) // pos_offset is name_len + 2 here - pos_offset -= 1; + pos_offset -= 2; } format[pos_offset + 1] = '\0'; From 48f5ec1a9249fabd755f50351a5e523f9ae5e647 Mon Sep 17 00:00:00 2001 From: rmknan Date: Thu, 21 Sep 2023 19:48:05 -0400 Subject: [PATCH 14/19] Edited the format len offset at line 221 --- src/element.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/element.c b/src/element.c index 4a75ceb9f..c034ec00c 100644 --- a/src/element.c +++ b/src/element.c @@ -218,7 +218,7 @@ stumpless_element_to_string( const struct stumpless_element *element ) { if( param_count != 0 ) { // extra param list chars and commas - format_len += 3 + param_count - 1; + format_len += 2 + param_count - 1; } else { // no params, just name format_len += 2; From e89a1c9c8605871696ad4577b625f8a48fa63452 Mon Sep 17 00:00:00 2001 From: rmknan Date: Mon, 25 Sep 2023 17:52:37 -0400 Subject: [PATCH 15/19] Valgrind test passing locally --- src/element.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/element.c b/src/element.c index c034ec00c..ae1f50edc 100644 --- a/src/element.c +++ b/src/element.c @@ -218,10 +218,10 @@ stumpless_element_to_string( const struct stumpless_element *element ) { if( param_count != 0 ) { // extra param list chars and commas - format_len += 2 + param_count - 1; + format_len += 4 + param_count ; } else { // no params, just name - format_len += 2; + format_len += 3; } format = alloc_mem( format_len ); @@ -254,7 +254,7 @@ stumpless_element_to_string( const struct stumpless_element *element ) { } else { // name (no params) // pos_offset is name_len + 2 here - pos_offset -= 2; + pos_offset -= 3; } format[pos_offset + 1] = '\0'; From 359b3fe0c513d7c04570ec5f119f53e412a9b784 Mon Sep 17 00:00:00 2001 From: rmknan Date: Wed, 27 Sep 2023 20:12:27 -0400 Subject: [PATCH 16/19] Added the wide string entry message functions --- include/stumpless/entry.h | 33 +++++++ src/entry.c | 33 +++++++ test/function/entry.cpp | 158 ++++++++++++++++++++++++++++++ tools/check_headers/stumpless.yml | 1 + 4 files changed, 225 insertions(+) diff --git a/include/stumpless/entry.h b/include/stumpless/entry.h index 5411ae9a2..29a1d286f 100644 --- a/include/stumpless/entry.h +++ b/include/stumpless/entry.h @@ -1340,6 +1340,39 @@ struct stumpless_entry * stumpless_set_entry_message_str( struct stumpless_entry *entry, const char *message ); +/** + * Sets the message of a given entry. + * + * **Thread Safety: MT-Safe** + * This function is thread safe. A mutex is used to coordinate changes to the + * entry while it is being modified. + * + * **Async Signal Safety: AS-Unsafe lock heap** + * This function is not safe to call from signal handlers due to the use of a + * non-reentrant lock to coordinate changes and the use of memory management + * functions to create the new message and free the old one. + * + * **Async Cancel Safety: AC-Unsafe lock heap** + * This function is not safe to call from threads that may be asynchronously + * cancelled, due to the use of a lock that could be left locked as well as + * memory management functions. + * + * @since release v2.1.0 + * + * @param entry The entry to modify. + * + * @param message The new message to set on the entry. If this is NULL, then it + * will be blank in the entry (no characters). This must be a valid UTF-16 string + * in shortest form. + * + * @return The modified entry if no error is encountered. If an error is + * encountered, then NULL is returned and an error code is set appropriately. + */ +STUMPLESS_PUBLIC_FUNCTION +struct stumpless_entry * +stumpless_set_entry_message_str_w( struct stumpless_entry *entry, + const wchar_t *message ); + /** * Puts the param in the element at the given index of an entry. * diff --git a/src/entry.c b/src/entry.c index 1b673281b..4e660a690 100644 --- a/src/entry.c +++ b/src/entry.c @@ -29,6 +29,7 @@ #include "private/config.h" #include "private/config/locale/wrapper.h" #include "private/config/wrapper/format_string.h" +#include "private/config/wrapper/wstring.h" #include "private/config/wrapper/gethostname.h" #include "private/config/wrapper/getpid.h" #include "private/config/wrapper/thread_safety.h" @@ -868,6 +869,38 @@ stumpless_set_entry_message_str( struct stumpless_entry *entry, return entry; } + +struct stumpless_entry * +stumpless_set_entry_message_str_w( struct stumpless_entry *entry, + const wchar_t *message ) { + char *new_message; + size_t new_message_length; + const char *old_message; + + VALIDATE_ARG_NOT_NULL( entry ); + + if( message ) { + new_message = config_copy_wstring_to_cstring( message, &new_message_length ); + if( !new_message ) { + return NULL; + } + } else { + new_message = NULL; + new_message_length = 0; + } + + lock_entry( entry ); + old_message = entry->message; + entry->message = new_message; + entry->message_length = new_message_length; + unlock_entry( entry ); + + free_mem( old_message ); + clear_error( ); + + return entry; +} + struct stumpless_entry * stumpless_set_entry_param_by_index( struct stumpless_entry *entry, size_t element_index, diff --git a/test/function/entry.cpp b/test/function/entry.cpp index 2fcfc6b0c..460eb5fdd 100644 --- a/test/function/entry.cpp +++ b/test/function/entry.cpp @@ -2395,6 +2395,164 @@ namespace { stumpless_free_all( ); } + + + + + + + + // TEST( SetMessageWideStrTest, AsciiMessage ) { + // struct stumpless_entry *entry; + // const char *ascii_message; + // const struct stumpless_entry *result; + // const char *new_message; + + // entry = create_empty_entry( ); + // ASSERT_NOT_NULL( entry ); + + // ascii_message = load_corpus( "cstring/ascii" ); + // ASSERT_NOT_NULL( ascii_message ); + + // result = stumpless_set_entry_message_str_w( entry, ascii_message ); + // EXPECT_EQ( entry, result ); + // EXPECT_NO_ERROR; + + // new_message = stumpless_get_entry_message( entry ); + // EXPECT_NOT_NULL( new_message ); + // EXPECT_NO_ERROR; + // EXPECT_STREQ( ascii_message, new_message ); + + // delete[] ascii_message; + // free( ( void * ) new_message ); + // stumpless_destroy_entry_and_contents( entry ); + // stumpless_free_all( ); + // } + + // TEST( SetMessageWideStrTest, LongAsciiMessage ) { + // struct stumpless_entry *entry; + // const char *long_message; + // const struct stumpless_entry *result; + // const char *new_message; + + // entry = create_empty_entry( ); + // ASSERT_NOT_NULL( entry ); + + // long_message = load_corpus( "cstring/lorem" ); + // ASSERT_NOT_NULL( long_message ); + + // result = stumpless_set_entry_message_str_w( entry, long_message ); + // EXPECT_EQ( entry, result ); + // EXPECT_NO_ERROR; + + // new_message = stumpless_get_entry_message( entry ); + // EXPECT_NOT_NULL( new_message ); + // EXPECT_NO_ERROR; + // EXPECT_STREQ( long_message, new_message ); + + // delete[] long_message; + // free( ( void * ) new_message ); + // stumpless_destroy_entry_and_contents( entry ); + // stumpless_free_all( ); + // } + + TEST( SetMessageWideStrTest, MallocFailureOnMessage ) { + void * (*set_malloc_result)(size_t); + struct stumpless_entry *entry; + const wchar_t *new_message = L"nice and long to make sure it beats the first"; + const struct stumpless_entry *result; + const struct stumpless_error *error; + + entry = create_empty_entry( ); + ASSERT_NOT_NULL( entry ); + + set_malloc_result = stumpless_set_malloc( MALLOC_FAIL_ON_SIZE( 46 ) ); + ASSERT_NOT_NULL( set_malloc_result ); + + result = stumpless_set_entry_message_str_w( entry, new_message ); + EXPECT_ERROR_ID_EQ( STUMPLESS_MEMORY_ALLOCATION_FAILURE ); + EXPECT_NULL( result ); + + set_malloc_result = stumpless_set_malloc( malloc ); + EXPECT_TRUE( set_malloc_result == malloc ); + + stumpless_destroy_entry_and_contents( entry ); + stumpless_free_all( ); + } + + TEST( SetMessageWideStrTest, NullEntry ) { + const struct stumpless_entry *result; + const struct stumpless_error *error; + + result = stumpless_set_entry_message_str_w( NULL, L"test-message" ); + EXPECT_ERROR_ID_EQ( STUMPLESS_ARGUMENT_EMPTY ); + EXPECT_NULL( result ); + + stumpless_free_all( ); + } + + TEST( SetMessageWideStrTest, NullMessage ) { + struct stumpless_entry *entry; + const struct stumpless_entry *result; + + entry = create_empty_entry( ); + EXPECT_NO_ERROR; + EXPECT_NOT_NULL( entry ); + + result = stumpless_set_entry_message_str_w( entry, NULL ); + EXPECT_NO_ERROR; + EXPECT_EQ( entry, result ); + + EXPECT_NULL( entry->message ); + EXPECT_EQ( 0, entry->message_length ); + + stumpless_destroy_entry_and_contents( entry ); + + stumpless_free_all( ); + } + + // TEST( SetMessageWideStrTest, Utf16Message ) { + // struct stumpless_entry *entry; + // const char *utf16_message; + // const struct stumpless_entry *result; + // const char *new_message; + + // entry = create_empty_entry( ); + // ASSERT_NOT_NULL( entry ); + + // utf16_message = load_corpus( "cstring/zh-cn" ); + // ASSERT_NOT_NULL( utf16_message ); + + // result = stumpless_set_entry_message_str_w( entry, utf16_message ); + // EXPECT_EQ( entry, result ); + // EXPECT_NO_ERROR; + + // new_message = stumpless_get_entry_message( entry ); + // EXPECT_NOT_NULL( new_message ); + // EXPECT_NO_ERROR; + // EXPECT_STREQ( utf16_message, new_message ); + + // delete[] utf16_message; + // free( ( void * ) new_message ); + // stumpless_destroy_entry_and_contents( entry ); + // stumpless_free_all( ); + // } + + + + + + + + + + + + + + + + TEST( SetParam, NullEntry ) { struct stumpless_param *param; const struct stumpless_entry *result; diff --git a/tools/check_headers/stumpless.yml b/tools/check_headers/stumpless.yml index dcddd109e..fea6b5b6e 100644 --- a/tools/check_headers/stumpless.yml +++ b/tools/check_headers/stumpless.yml @@ -628,3 +628,4 @@ "stumpless_get_target_type_string" : "stumpless/target.h" "STUMPLESS_FOREACH_TARGET_TYPE" : "stumpless/target.h" "STUMPLESS_FOREACH_SEVERITY" : "stumpless/severity.h" +"stumpless_set_entry_message_str_w" : "stumpless/entry.h" From 35ee4d8102350aac53f7fc2895e84d1d65534ed9 Mon Sep 17 00:00:00 2001 From: rmknan Date: Fri, 6 Oct 2023 16:08:12 -0400 Subject: [PATCH 17/19] Changes to entry.cpp and wcsrtomb files --- include/stumpless/entry.h | 2 +- src/config/no_wcsrtombs_s.c | 2 ++ src/windows/stumpless.def | 1 + test/function/entry.cpp | 43 +++++++++++++++++++------------------ 4 files changed, 26 insertions(+), 22 deletions(-) diff --git a/include/stumpless/entry.h b/include/stumpless/entry.h index 8a556fe55..864ebeb49 100644 --- a/include/stumpless/entry.h +++ b/include/stumpless/entry.h @@ -1357,7 +1357,7 @@ stumpless_set_entry_message_str( struct stumpless_entry *entry, * cancelled, due to the use of a lock that could be left locked as well as * memory management functions. * - * @since release v2.1.0 + * @since release v2.2.0 * * @param entry The entry to modify. * diff --git a/src/config/no_wcsrtombs_s.c b/src/config/no_wcsrtombs_s.c index 79b394ed2..9f5244a32 100644 --- a/src/config/no_wcsrtombs_s.c +++ b/src/config/no_wcsrtombs_s.c @@ -19,6 +19,7 @@ #include #include #include +#include #include "private/config/locale/wrapper.h" #include "private/config/no_wcsrtombs_s.h" #include "private/error.h" @@ -32,6 +33,7 @@ no_wcsrtombs_s_copy_wstring_to_cstring( const wchar_t *str, int *copy_size ) { mbstate_t state; size_t conversion_result; + memset( &state, 0, sizeof( state ) ); conversion_result = wcsrtombs( NULL, &str, 0, &state ); if( conversion_result == -1 ) { raise_wide_conversion_failure( errno, L10N_ERRNO_ERROR_CODE_TYPE ); diff --git a/src/windows/stumpless.def b/src/windows/stumpless.def index 082988721..18527b36e 100644 --- a/src/windows/stumpless.def +++ b/src/windows/stumpless.def @@ -223,3 +223,4 @@ EXPORTS stumpless_unload_entry_only @206 stumpless_unload_param @207 vstumpless_load_entry @208 + stumpless_set_entry_message_str_w @209 diff --git a/test/function/entry.cpp b/test/function/entry.cpp index 460eb5fdd..2faf00f8b 100644 --- a/test/function/entry.cpp +++ b/test/function/entry.cpp @@ -2511,32 +2511,33 @@ namespace { stumpless_free_all( ); } - // TEST( SetMessageWideStrTest, Utf16Message ) { - // struct stumpless_entry *entry; - // const char *utf16_message; - // const struct stumpless_entry *result; - // const char *new_message; + TEST( SetMessageWideStrTest, Utf16Message ) { + struct stumpless_entry *entry; + const struct stumpless_entry *result; + const wchar_t *utf16_message= L"没有错误"; + const char *utf8_message = "没有错误"; + const char *new_message; - // entry = create_empty_entry( ); - // ASSERT_NOT_NULL( entry ); + entry = create_empty_entry( ); + ASSERT_NOT_NULL( entry ); - // utf16_message = load_corpus( "cstring/zh-cn" ); - // ASSERT_NOT_NULL( utf16_message ); + // utf16_message = load_corpus( "cstring/zh-cn" ); + ASSERT_NOT_NULL( utf16_message ); - // result = stumpless_set_entry_message_str_w( entry, utf16_message ); - // EXPECT_EQ( entry, result ); - // EXPECT_NO_ERROR; + result = stumpless_set_entry_message_str_w( entry, utf16_message ); + EXPECT_EQ( entry, result ); + EXPECT_NO_ERROR; - // new_message = stumpless_get_entry_message( entry ); - // EXPECT_NOT_NULL( new_message ); - // EXPECT_NO_ERROR; - // EXPECT_STREQ( utf16_message, new_message ); + new_message = stumpless_get_entry_message( entry ); + EXPECT_NOT_NULL( new_message ); + EXPECT_NO_ERROR; + EXPECT_STREQ( utf8_message, new_message ); - // delete[] utf16_message; - // free( ( void * ) new_message ); - // stumpless_destroy_entry_and_contents( entry ); - // stumpless_free_all( ); - // } + delete[] utf16_message; + free( ( void * ) new_message ); + stumpless_destroy_entry_and_contents( entry ); + stumpless_free_all( ); + } From b3a0974cce8b81275abe03fd1a515ee45fd633ef Mon Sep 17 00:00:00 2001 From: rmknan Date: Tue, 10 Oct 2023 17:27:47 -0400 Subject: [PATCH 18/19] All errors resolved, Build Successful --- src/config/no_wcsrtombs_s.c | 32 +++++------ src/entry.c | 2 +- test/function/entry.cpp | 103 +++++++++++++----------------------- 3 files changed, 54 insertions(+), 83 deletions(-) diff --git a/src/config/no_wcsrtombs_s.c b/src/config/no_wcsrtombs_s.c index f2ee4ed79..9f5244a32 100644 --- a/src/config/no_wcsrtombs_s.c +++ b/src/config/no_wcsrtombs_s.c @@ -40,26 +40,26 @@ no_wcsrtombs_s_copy_wstring_to_cstring( const wchar_t *str, int *copy_size ) { goto fail; } - // buffer_size = conversion_result + 1; // add NULL terminator - // buffer = alloc_mem( buffer_size ); - // if( !buffer ) { - // goto fail; - // } + buffer_size = conversion_result + 1; // add NULL terminator + buffer = alloc_mem( buffer_size ); + if( !buffer ) { + goto fail; + } - // conversion_result = wcsrtombs( buffer, &str, buffer_size, &state ); - // if( conversion_result == -1 ) { - // raise_wide_conversion_failure( errno, L10N_ERRNO_ERROR_CODE_TYPE ); - // goto cleanup_and_fail; - // } + conversion_result = wcsrtombs( buffer, &str, buffer_size, &state ); + if( conversion_result == -1 ) { + raise_wide_conversion_failure( errno, L10N_ERRNO_ERROR_CODE_TYPE ); + goto cleanup_and_fail; + } - // if( copy_size ) { - // *copy_size = cap_size_t_to_int( buffer_size ); - // } + if( copy_size ) { + *copy_size = cap_size_t_to_int( buffer_size ); + } - // return buffer; + return buffer; -// cleanup_and_fail: -// free_mem( buffer ); +cleanup_and_fail: + free_mem( buffer ); fail: return NULL; } diff --git a/src/entry.c b/src/entry.c index 4e660a690..c89472f9c 100644 --- a/src/entry.c +++ b/src/entry.c @@ -874,7 +874,7 @@ struct stumpless_entry * stumpless_set_entry_message_str_w( struct stumpless_entry *entry, const wchar_t *message ) { char *new_message; - size_t new_message_length; + int new_message_length; const char *old_message; VALIDATE_ARG_NOT_NULL( entry ); diff --git a/test/function/entry.cpp b/test/function/entry.cpp index ab661f390..6687b555d 100644 --- a/test/function/entry.cpp +++ b/test/function/entry.cpp @@ -2396,66 +2396,52 @@ namespace { stumpless_free_all( ); } + TEST( SetMessageWideStrTest, AsciiMessage ) { + struct stumpless_entry *entry; + const wchar_t *wide_ascii_message = L"ASCII Message"; + const char *ascii_message = "ASCII Message"; + const struct stumpless_entry *result; + const char *new_message; + entry = create_empty_entry( ); + ASSERT_NOT_NULL( entry ); + result = stumpless_set_entry_message_str_w( entry, wide_ascii_message ); + EXPECT_EQ( entry, result ); + EXPECT_NO_ERROR; + new_message = stumpless_get_entry_message( entry ); + EXPECT_NOT_NULL( new_message ); + EXPECT_NO_ERROR; + EXPECT_STREQ( ascii_message, new_message ); + + stumpless_destroy_entry_and_contents( entry ); + stumpless_free_all( ); + } + TEST( SetMessageWideStrTest, LongAsciiMessage ) { + struct stumpless_entry *entry; + const char *long_message = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.Proin porta, sem quis imperdiet aliquam, lectus odio consequat elit, at ullamcorper felis urna vel leo. Ut vitae risus cursus, tempor risus sed, elementum risus. Vestibulum porta egestas libero et lacinia."; + const wchar_t *wide_long_message = L"Lorem ipsum dolor sit amet, consectetur adipiscing elit.Proin porta, sem quis imperdiet aliquam, lectus odio consequat elit, at ullamcorper felis urna vel leo. Ut vitae risus cursus, tempor risus sed, elementum risus. Vestibulum porta egestas libero et lacinia."; + const struct stumpless_entry *result; + const char *new_message; + entry = create_empty_entry( ); + ASSERT_NOT_NULL( entry ); - // TEST( SetMessageWideStrTest, AsciiMessage ) { - // struct stumpless_entry *entry; - // const char *ascii_message; - // const struct stumpless_entry *result; - // const char *new_message; - - // entry = create_empty_entry( ); - // ASSERT_NOT_NULL( entry ); - - // ascii_message = load_corpus( "cstring/ascii" ); - // ASSERT_NOT_NULL( ascii_message ); - - // result = stumpless_set_entry_message_str_w( entry, ascii_message ); - // EXPECT_EQ( entry, result ); - // EXPECT_NO_ERROR; - - // new_message = stumpless_get_entry_message( entry ); - // EXPECT_NOT_NULL( new_message ); - // EXPECT_NO_ERROR; - // EXPECT_STREQ( ascii_message, new_message ); - - // delete[] ascii_message; - // free( ( void * ) new_message ); - // stumpless_destroy_entry_and_contents( entry ); - // stumpless_free_all( ); - // } - - // TEST( SetMessageWideStrTest, LongAsciiMessage ) { - // struct stumpless_entry *entry; - // const char *long_message; - // const struct stumpless_entry *result; - // const char *new_message; - - // entry = create_empty_entry( ); - // ASSERT_NOT_NULL( entry ); - - // long_message = load_corpus( "cstring/lorem" ); - // ASSERT_NOT_NULL( long_message ); - - // result = stumpless_set_entry_message_str_w( entry, long_message ); - // EXPECT_EQ( entry, result ); - // EXPECT_NO_ERROR; + result = stumpless_set_entry_message_str_w( entry, wide_long_message ); + EXPECT_EQ( entry, result ); + EXPECT_NO_ERROR; - // new_message = stumpless_get_entry_message( entry ); - // EXPECT_NOT_NULL( new_message ); - // EXPECT_NO_ERROR; - // EXPECT_STREQ( long_message, new_message ); + new_message = stumpless_get_entry_message( entry ); + EXPECT_NOT_NULL( new_message ); + EXPECT_NO_ERROR; + EXPECT_STREQ( long_message, new_message ); - // delete[] long_message; - // free( ( void * ) new_message ); - // stumpless_destroy_entry_and_contents( entry ); - // stumpless_free_all( ); - // } + stumpless_destroy_entry_and_contents( entry ); + stumpless_free_all( ); + } TEST( SetMessageWideStrTest, MallocFailureOnMessage ) { void * (*set_malloc_result)(size_t); @@ -2540,21 +2526,6 @@ namespace { stumpless_free_all( ); } - - - - - - - - - - - - - - - TEST( SetParam, NullEntry ) { struct stumpless_param *param; const struct stumpless_entry *result; From 586149780f677be8560e3e07b1760be836e76178 Mon Sep 17 00:00:00 2001 From: rmknan Date: Wed, 11 Oct 2023 17:55:01 -0400 Subject: [PATCH 19/19] Valgrind passed and changed stumpless def --- src/windows/stumpless.def | 6 ++---- test/function/entry.cpp | 6 +++--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/windows/stumpless.def b/src/windows/stumpless.def index a3097edd8..e4839eff7 100644 --- a/src/windows/stumpless.def +++ b/src/windows/stumpless.def @@ -223,8 +223,6 @@ EXPORTS stumpless_unload_entry_only @206 stumpless_unload_param @207 vstumpless_load_entry @208 -<<<<<<< HEAD - stumpless_set_entry_message_str_w @210 -======= stumpless_prival_from_string @209 ->>>>>>> c54a4983dc4a72f12029ef0c6004a947afbde6d7 + stumpless_set_entry_message_str_w @210 + diff --git a/test/function/entry.cpp b/test/function/entry.cpp index 6687b555d..92c4a1bc7 100644 --- a/test/function/entry.cpp +++ b/test/function/entry.cpp @@ -2415,7 +2415,7 @@ namespace { EXPECT_NO_ERROR; EXPECT_STREQ( ascii_message, new_message ); - + free( ( void * ) new_message ); stumpless_destroy_entry_and_contents( entry ); stumpless_free_all( ); } @@ -2438,7 +2438,7 @@ namespace { EXPECT_NOT_NULL( new_message ); EXPECT_NO_ERROR; EXPECT_STREQ( long_message, new_message ); - + free( ( void * ) new_message ); stumpless_destroy_entry_and_contents( entry ); stumpless_free_all( ); } @@ -2521,7 +2521,7 @@ namespace { EXPECT_NOT_NULL( new_message ); EXPECT_NO_ERROR; EXPECT_STREQ( utf8_message, new_message ); - + free( ( void * ) new_message ); stumpless_destroy_entry_and_contents( entry ); stumpless_free_all( ); }