From 8099050c7191525c63b03e8b175620d2a2c1a9a3 Mon Sep 17 00:00:00 2001 From: uncrustify Date: Thu, 13 Jun 2019 07:34:25 -0300 Subject: [PATCH] compat: run uncrustify This is the result of running $ uncrustify --replace --config ../devel/uncrustify.cfg *.c *.h in the compat directory --- compat/canonicalize_file_name.c | 4 +- compat/check_asctime.c | 3 +- compat/check_getpwuid.c | 3 +- compat/compat.h | 32 +++--- compat/function-attributes.h | 6 +- compat/gen_zlib_pc.c | 23 ++-- compat/getdelim.c | 156 +++++++++++++-------------- compat/getline.c | 34 +++--- compat/have_canonicalize_file_name.c | 3 +- compat/have_d_type.c | 3 +- compat/have_getline.c | 5 +- compat/have_strcasestr.c | 5 +- compat/have_strsep.c | 5 +- compat/have_timegm.c | 5 +- compat/strcasestr.c | 50 ++++----- compat/strsep.c | 100 +++++++++-------- compat/timegm.c | 38 +++---- 17 files changed, 237 insertions(+), 238 deletions(-) diff --git a/compat/canonicalize_file_name.c b/compat/canonicalize_file_name.c index e92c0f62..000f9e78 100644 --- a/compat/canonicalize_file_name.c +++ b/compat/canonicalize_file_name.c @@ -4,10 +4,10 @@ #include char * -canonicalize_file_name (const char * path) +canonicalize_file_name (const char *path) { #ifdef PATH_MAX - char *resolved_path = malloc (PATH_MAX+1); + char *resolved_path = malloc (PATH_MAX + 1); if (resolved_path == NULL) return NULL; diff --git a/compat/check_asctime.c b/compat/check_asctime.c index b0e56f0c..62ad69d6 100644 --- a/compat/check_asctime.c +++ b/compat/check_asctime.c @@ -1,7 +1,8 @@ #include #include -int main() +int +main () { struct tm tm; diff --git a/compat/check_getpwuid.c b/compat/check_getpwuid.c index c435eb89..babeb742 100644 --- a/compat/check_getpwuid.c +++ b/compat/check_getpwuid.c @@ -1,7 +1,8 @@ #include #include -int main() +int +main () { struct passwd passwd, *ignored; diff --git a/compat/compat.h b/compat/compat.h index 88bc4df4..8f15e585 100644 --- a/compat/compat.h +++ b/compat/compat.h @@ -30,14 +30,14 @@ extern "C" { #endif -#if !STD_GETPWUID +#if ! STD_GETPWUID #define _POSIX_PTHREAD_SEMANTICS 1 #endif -#if !STD_ASCTIME +#if ! STD_ASCTIME #define _POSIX_PTHREAD_SEMANTICS 1 #endif -#if !HAVE_CANONICALIZE_FILE_NAME +#if ! HAVE_CANONICALIZE_FILE_NAME /* we only call this function from C, and this makes testing easier */ #ifndef __cplusplus char * @@ -45,7 +45,7 @@ canonicalize_file_name (const char *path); #endif #endif -#if !HAVE_GETLINE +#if ! HAVE_GETLINE #include #include @@ -55,31 +55,31 @@ getline (char **lineptr, size_t *n, FILE *stream); ssize_t getdelim (char **lineptr, size_t *n, int delimiter, FILE *fp); -#endif /* !HAVE_GETLINE */ +#endif /* !HAVE_GETLINE */ -#if !HAVE_STRCASESTR -char* strcasestr(const char *haystack, const char *needle); -#endif /* !HAVE_STRCASESTR */ +#if ! HAVE_STRCASESTR +char *strcasestr (const char *haystack, const char *needle); +#endif /* !HAVE_STRCASESTR */ -#if !HAVE_STRSEP -char *strsep(char **stringp, const char *delim); -#endif /* !HAVE_STRSEP */ +#if ! HAVE_STRSEP +char *strsep (char **stringp, const char *delim); +#endif /* !HAVE_STRSEP */ -#if !HAVE_TIMEGM +#if ! HAVE_TIMEGM #include time_t timegm (struct tm *tm); -#endif /* !HAVE_TIMEGM */ +#endif /* !HAVE_TIMEGM */ /* Silence gcc warnings about unused results. These warnings exist * for a reason; any use of this needs to be justified. */ #ifdef __GNUC__ -#define IGNORE_RESULT(x) ({ __typeof__(x) __z = (x); (void)(__z = __z); }) +#define IGNORE_RESULT(x) ({ __typeof__(x) __z = (x); (void) (__z = __z); }) #else /* !__GNUC__ */ #define IGNORE_RESULT(x) x -#endif /* __GNUC__ */ +#endif /* __GNUC__ */ #ifdef __cplusplus } #endif -#endif /* NOTMUCH_COMPAT_H */ +#endif /* NOTMUCH_COMPAT_H */ diff --git a/compat/function-attributes.h b/compat/function-attributes.h index 1945b5bf..8f08bec4 100644 --- a/compat/function-attributes.h +++ b/compat/function-attributes.h @@ -35,9 +35,9 @@ * provides support for testing for function attributes. */ #ifndef NORETURN_ATTRIBUTE -#if (__GNUC__ >= 3 || \ - (__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || \ - __has_attribute (noreturn)) +#if (__GNUC__ >= 3 || \ + (__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || \ + __has_attribute (noreturn)) #define NORETURN_ATTRIBUTE __attribute__ ((noreturn)) #else #define NORETURN_ATTRIBUTE diff --git a/compat/gen_zlib_pc.c b/compat/gen_zlib_pc.c index 198a727c..7c0ee727 100644 --- a/compat/gen_zlib_pc.c +++ b/compat/gen_zlib_pc.c @@ -2,17 +2,18 @@ #include static const char *template = - "prefix=/usr\n" - "exec_prefix=${prefix}\n" - "libdir=${exec_prefix}/lib\n" - "\n" - "Name: zlib\n" - "Description: zlib compression library\n" - "Version: %s\n" - "Libs: -lz\n"; + "prefix=/usr\n" + "exec_prefix=${prefix}\n" + "libdir=${exec_prefix}/lib\n" + "\n" + "Name: zlib\n" + "Description: zlib compression library\n" + "Version: %s\n" + "Libs: -lz\n"; -int main(void) +int +main (void) { - printf(template, ZLIB_VERSION); - return 0; + printf (template, ZLIB_VERSION); + return 0; } diff --git a/compat/getdelim.c b/compat/getdelim.c index 407f3d07..e5c1f07c 100644 --- a/compat/getdelim.c +++ b/compat/getdelim.c @@ -1,21 +1,21 @@ /* getdelim.c --- Implementation of replacement getdelim function. - Copyright (C) 1994, 1996, 1997, 1998, 2001, 2003, 2005, 2006, 2007, - 2008, 2009 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 3, or (at - your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. */ + * Copyright (C) 1994, 1996, 1997, 1998, 2001, 2003, 2005, 2006, 2007, + * 2008, 2009 Free Software Foundation, Inc. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 3, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. */ /* Ported from glibc by Simon Josefsson. */ @@ -34,100 +34,92 @@ #if USE_UNLOCKED_IO # include "unlocked-io.h" -# define getc_maybe_unlocked(fp) getc(fp) -#elif !HAVE_FLOCKFILE || !HAVE_FUNLOCKFILE || !HAVE_DECL_GETC_UNLOCKED +# define getc_maybe_unlocked(fp) getc (fp) +#elif ! HAVE_FLOCKFILE || ! HAVE_FUNLOCKFILE || ! HAVE_DECL_GETC_UNLOCKED # undef flockfile # undef funlockfile # define flockfile(x) ((void) 0) # define funlockfile(x) ((void) 0) -# define getc_maybe_unlocked(fp) getc(fp) +# define getc_maybe_unlocked(fp) getc (fp) #else -# define getc_maybe_unlocked(fp) getc_unlocked(fp) +# define getc_maybe_unlocked(fp) getc_unlocked (fp) #endif /* Read up to (and including) a DELIMITER from FP into *LINEPTR (and - NUL-terminate it). *LINEPTR is a pointer returned from malloc (or - NULL), pointing to *N characters of space. It is realloc'ed as - necessary. Returns the number of characters read (not including - the null terminator), or -1 on error or EOF. */ + * NUL-terminate it). *LINEPTR is a pointer returned from malloc (or + * NULL), pointing to *N characters of space. It is realloc'ed as + * necessary. Returns the number of characters read (not including + * the null terminator), or -1 on error or EOF. */ ssize_t getdelim (char **lineptr, size_t *n, int delimiter, FILE *fp) { - ssize_t result = -1; - size_t cur_len = 0; + ssize_t result = -1; + size_t cur_len = 0; - if (lineptr == NULL || n == NULL || fp == NULL) - { - errno = EINVAL; - return -1; + if (lineptr == NULL || n == NULL || fp == NULL) { + errno = EINVAL; + return -1; } - flockfile (fp); - - if (*lineptr == NULL || *n == 0) - { - char *new_lineptr; - *n = 120; - new_lineptr = (char *) realloc (*lineptr, *n); - if (new_lineptr == NULL) - { - result = -1; - goto unlock_return; + flockfile (fp); + + if (*lineptr == NULL || *n == 0) { + char *new_lineptr; + *n = 120; + new_lineptr = (char *) realloc (*lineptr, *n); + if (new_lineptr == NULL) { + result = -1; + goto unlock_return; } - *lineptr = new_lineptr; + *lineptr = new_lineptr; } - for (;;) - { - int i; + for (;;) { + int i; - i = getc_maybe_unlocked (fp); - if (i == EOF) - { - result = -1; - break; + i = getc_maybe_unlocked (fp); + if (i == EOF) { + result = -1; + break; } - /* Make enough space for len+1 (for final NUL) bytes. */ - if (cur_len + 1 >= *n) - { - size_t needed_max = - SSIZE_MAX < SIZE_MAX ? (size_t) SSIZE_MAX + 1 : SIZE_MAX; - size_t needed = 2 * *n + 1; /* Be generous. */ - char *new_lineptr; - - if (needed_max < needed) - needed = needed_max; - if (cur_len + 1 >= needed) - { - result = -1; - errno = EOVERFLOW; - goto unlock_return; + /* Make enough space for len+1 (for final NUL) bytes. */ + if (cur_len + 1 >= *n) { + size_t needed_max = + SSIZE_MAX < SIZE_MAX ? (size_t) SSIZE_MAX + 1 : SIZE_MAX; + size_t needed = 2 * *n + 1; /* Be generous. */ + char *new_lineptr; + + if (needed_max < needed) + needed = needed_max; + if (cur_len + 1 >= needed) { + result = -1; + errno = EOVERFLOW; + goto unlock_return; } - new_lineptr = (char *) realloc (*lineptr, needed); - if (new_lineptr == NULL) - { - result = -1; - goto unlock_return; + new_lineptr = (char *) realloc (*lineptr, needed); + if (new_lineptr == NULL) { + result = -1; + goto unlock_return; } - *lineptr = new_lineptr; - *n = needed; + *lineptr = new_lineptr; + *n = needed; } - (*lineptr)[cur_len] = i; - cur_len++; + (*lineptr)[cur_len] = i; + cur_len++; - if (i == delimiter) - break; + if (i == delimiter) + break; } - (*lineptr)[cur_len] = '\0'; - result = cur_len ? (ssize_t) cur_len : result; + (*lineptr)[cur_len] = '\0'; + result = cur_len ? (ssize_t) cur_len : result; - unlock_return: - funlockfile (fp); /* doesn't set errno */ + unlock_return: + funlockfile (fp); /* doesn't set errno */ - return result; + return result; } diff --git a/compat/getline.c b/compat/getline.c index 222e0f6c..2fcaba14 100644 --- a/compat/getline.c +++ b/compat/getline.c @@ -1,20 +1,20 @@ /* getline.c --- Implementation of replacement getline function. - Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 3, or (at - your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. */ + * Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 3, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. */ /* Written by Simon Josefsson. */ @@ -25,5 +25,5 @@ ssize_t getline (char **lineptr, size_t *n, FILE *stream) { - return getdelim (lineptr, n, '\n', stream); + return getdelim (lineptr, n, '\n', stream); } diff --git a/compat/have_canonicalize_file_name.c b/compat/have_canonicalize_file_name.c index 24c848ec..e5609793 100644 --- a/compat/have_canonicalize_file_name.c +++ b/compat/have_canonicalize_file_name.c @@ -1,7 +1,8 @@ #define _GNU_SOURCE #include -int main() +int +main () { char *found; char *string; diff --git a/compat/have_d_type.c b/compat/have_d_type.c index 9ca6c6e0..5338ee4d 100644 --- a/compat/have_d_type.c +++ b/compat/have_d_type.c @@ -1,6 +1,7 @@ #include -int main() +int +main () { struct dirent ent; diff --git a/compat/have_getline.c b/compat/have_getline.c index a8bcd17e..6952a3b3 100644 --- a/compat/have_getline.c +++ b/compat/have_getline.c @@ -2,12 +2,13 @@ #include #include -int main() +int +main () { ssize_t count = 0; size_t n = 0; char **lineptr = NULL; FILE *stream = NULL; - count = getline(lineptr, &n, stream); + count = getline (lineptr, &n, stream); } diff --git a/compat/have_strcasestr.c b/compat/have_strcasestr.c index c0fb7629..3cd1838d 100644 --- a/compat/have_strcasestr.c +++ b/compat/have_strcasestr.c @@ -1,10 +1,11 @@ #define _GNU_SOURCE #include -int main() +int +main () { char *found; const char *haystack, *needle; - found = strcasestr(haystack, needle); + found = strcasestr (haystack, needle); } diff --git a/compat/have_strsep.c b/compat/have_strsep.c index 2abab819..dd4aae75 100644 --- a/compat/have_strsep.c +++ b/compat/have_strsep.c @@ -1,11 +1,12 @@ #define _GNU_SOURCE #include -int main() +int +main () { char *found; char **stringp; const char *delim; - found = strsep(stringp, delim); + found = strsep (stringp, delim); } diff --git a/compat/have_timegm.c b/compat/have_timegm.c index 483fc3b6..8f7b380e 100644 --- a/compat/have_timegm.c +++ b/compat/have_timegm.c @@ -1,6 +1,7 @@ #include -int main() +int +main () { - return (int) timegm((struct tm *)0); + return (int) timegm ((struct tm *) 0); } diff --git a/compat/strcasestr.c b/compat/strcasestr.c index 62a3a545..d4480bf3 100644 --- a/compat/strcasestr.c +++ b/compat/strcasestr.c @@ -3,20 +3,20 @@ * don't include it in their library * * based on a GPL implementation in OpenTTD found under GPL v2 - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation, version 2. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. */ + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 2. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. */ /* Imported into notmuch by Dirk Hohndel - original author unknown. */ @@ -24,17 +24,19 @@ #include "compat.h" -char *strcasestr(const char *haystack, const char *needle) +char * +strcasestr (const char *haystack, const char *needle) { - size_t hay_len = strlen(haystack); - size_t needle_len = strlen(needle); - while (hay_len >= needle_len) { - if (strncasecmp(haystack, needle, needle_len) == 0) - return (char *) haystack; + size_t hay_len = strlen (haystack); + size_t needle_len = strlen (needle); + + while (hay_len >= needle_len) { + if (strncasecmp (haystack, needle, needle_len) == 0) + return (char *) haystack; - haystack++; - hay_len--; - } + haystack++; + hay_len--; + } - return NULL; + return NULL; } diff --git a/compat/strsep.c b/compat/strsep.c index 78ab9e71..4b6926d9 100644 --- a/compat/strsep.c +++ b/compat/strsep.c @@ -1,65 +1,61 @@ /* Copyright (C) 1992, 93, 96, 97, 98, 99, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ + * This file is part of the GNU C Library. + * + * The GNU C Library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * The GNU C Library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the GNU C Library; if not, write to the Free + * Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + * 02111-1307 USA. */ #include /* Taken from glibc 2.6.1 */ -char *strsep (char **stringp, const char *delim) +char * +strsep (char **stringp, const char *delim) { - char *begin, *end; + char *begin, *end; - begin = *stringp; - if (begin == NULL) - return NULL; + begin = *stringp; + if (begin == NULL) + return NULL; - /* A frequent case is when the delimiter string contains only one - character. Here we don't need to call the expensive `strpbrk' - function and instead work using `strchr'. */ - if (delim[0] == '\0' || delim[1] == '\0') - { - char ch = delim[0]; + /* A frequent case is when the delimiter string contains only one + * character. Here we don't need to call the expensive `strpbrk' + * function and instead work using `strchr'. */ + if (delim[0] == '\0' || delim[1] == '\0') { + char ch = delim[0]; - if (ch == '\0') - end = NULL; - else - { - if (*begin == ch) - end = begin; - else if (*begin == '\0') + if (ch == '\0') end = NULL; - else - end = strchr (begin + 1, ch); + else { + if (*begin == ch) + end = begin; + else if (*begin == '\0') + end = NULL; + else + end = strchr (begin + 1, ch); } - } - else - /* Find the end of the token. */ - end = strpbrk (begin, delim); - - if (end) - { - /* Terminate the token and set *STRINGP past NUL character. */ - *end++ = '\0'; - *stringp = end; - } - else - /* No more delimiters; this is the last token. */ - *stringp = NULL; - - return begin; + } else + /* Find the end of the token. */ + end = strpbrk (begin, delim); + + if (end) { + /* Terminate the token and set *STRINGP past NUL character. */ + *end++ = '\0'; + *stringp = end; + } else + /* No more delimiters; this is the last token. */ + *stringp = NULL; + + return begin; } diff --git a/compat/timegm.c b/compat/timegm.c index 3560c370..005a4239 100644 --- a/compat/timegm.c +++ b/compat/timegm.c @@ -1,19 +1,19 @@ /* timegm.c --- Implementation of replacement timegm function. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 3, or (at - your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. */ + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 3, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. */ /* Copyright 2013 Blake Jones. */ @@ -35,20 +35,20 @@ leapyear (int year) time_t timegm (struct tm *tm) { - int monthlen[2][12] = { + int monthlen[2][12] = { { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }, { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }, }; - int year, month, days; + int year, month, days; days = 365 * (tm->tm_year - 70); for (year = 70; year < tm->tm_year; year++) { - if (leapyear(1900 + year)) { + if (leapyear (1900 + year)) { days++; } } for (month = 0; month < tm->tm_mon; month++) { - days += monthlen[leapyear(1900 + year)][month]; + days += monthlen[leapyear (1900 + year)][month]; } days += tm->tm_mday - 1; -- 2.43.0