From da95f5d5c7275f6ea72110cf768939351424f18a Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Mon, 20 Aug 2018 18:48:51 +0100 Subject: [PATCH 1/4] Update the Unicode Data Files license. --- COPYING.UCD | 40 +++++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/COPYING.UCD b/COPYING.UCD index 51608df1..38ff09a1 100644 --- a/COPYING.UCD +++ b/COPYING.UCD @@ -1,8 +1,29 @@ +Unicode Data Files include all data files under the directories +http://www.unicode.org/Public/, http://www.unicode.org/reports/, +http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and +http://www.unicode.org/utility/trac/browser/. + +Unicode Data Files do not include PDF online code charts under the +directory http://www.unicode.org/Public/. + +Software includes any source code published in the Unicode Standard +or under the directories +http://www.unicode.org/Public/, http://www.unicode.org/reports/, +http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and +http://www.unicode.org/utility/trac/browser/. + +NOTICE TO USER: Carefully read the following legal agreement. +BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S +DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), +YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE +TERMS AND CONDITIONS OF THIS AGREEMENT. +IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE +THE DATA FILES OR SOFTWARE. + COPYRIGHT AND PERMISSION NOTICE -Copyright © 1991-2014 Unicode, Inc. All rights reserved. -Distributed under the Terms of Use in -http://www.unicode.org/copyright.html. +Copyright © 1991-2018 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in http://www.unicode.org/copyright.html. Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation @@ -11,14 +32,11 @@ a copy of the Unicode data files and any associated documentation without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files -or Software are furnished to do so, provided that -(a) this copyright and permission notice appear with all copies -of the Data Files or Software, -(b) this copyright and permission notice appear in associated -documentation, and -(c) there is clear notice in each modified Data File or in the Software -as well as in the documentation associated with the Data File(s) or -Software that the data or software has been modified. +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE From 1a895f37b9cb868234a2278a410a234259b08905 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Tue, 4 May 2021 17:51:28 +0100 Subject: [PATCH 2/4] Fix running the tests with -fsanitize=address. --- src/case.c | 8 ++++---- tools/case.py | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/case.c b/src/case.c index 04c9736a..b11c869c 100644 --- a/src/case.c +++ b/src/case.c @@ -1,6 +1,6 @@ /* Unicode Case Conversion * - * Copyright (C) 2012-2018 Reece H. Dunn + * Copyright (C) 2012-2018, 2021 Reece H. Dunn * * This file is part of ucd-tools. * @@ -2822,7 +2822,7 @@ static const struct case_conversion_entry case_conversion_data[] = codepoint_t ucd_toupper(codepoint_t c) { int begin = 0; - int end = sizeof(case_conversion_data)/sizeof(case_conversion_data[0]); + int end = sizeof(case_conversion_data)/sizeof(case_conversion_data[0]) - 1; while (begin <= end) { int pos = (begin + end) / 2; @@ -2840,7 +2840,7 @@ codepoint_t ucd_toupper(codepoint_t c) codepoint_t ucd_tolower(codepoint_t c) { int begin = 0; - int end = sizeof(case_conversion_data)/sizeof(case_conversion_data[0]); + int end = sizeof(case_conversion_data)/sizeof(case_conversion_data[0]) - 1; while (begin <= end) { int pos = (begin + end) / 2; @@ -2858,7 +2858,7 @@ codepoint_t ucd_tolower(codepoint_t c) codepoint_t ucd_totitle(codepoint_t c) { int begin = 0; - int end = sizeof(case_conversion_data)/sizeof(case_conversion_data[0]); + int end = sizeof(case_conversion_data)/sizeof(case_conversion_data[0]) - 1; while (begin <= end) { int pos = (begin + end) / 2; diff --git a/tools/case.py b/tools/case.py index 9daa5740..33cd5472 100755 --- a/tools/case.py +++ b/tools/case.py @@ -1,6 +1,6 @@ #!/usr/bin/python -# Copyright (C) 2012-2018 Reece H. Dunn +# Copyright (C) 2012-2018, 2021 Reece H. Dunn # # This file is part of ucd-tools. # @@ -33,7 +33,7 @@ for data in ucd.parse_ucd_data(ucd_rootdir, 'UnicodeData'): if __name__ == '__main__': sys.stdout.write("""/* Unicode Case Conversion * - * Copyright (C) 2012-2018 Reece H. Dunn + * Copyright (C) 2012-2018, 2021 Reece H. Dunn * * This file is part of ucd-tools. * @@ -83,7 +83,7 @@ struct case_conversion_entry sys.stdout.write('codepoint_t ucd_to%s(codepoint_t c)\n' % case) sys.stdout.write('{\n') sys.stdout.write('\tint begin = 0;\n') - sys.stdout.write('\tint end = sizeof(case_conversion_data)/sizeof(case_conversion_data[0]);\n') + sys.stdout.write('\tint end = sizeof(case_conversion_data)/sizeof(case_conversion_data[0]) - 1;\n') sys.stdout.write('\twhile (begin <= end)\n') sys.stdout.write('\t{\n') sys.stdout.write('\t\tint pos = (begin + end) / 2;\n') From 2b2eac1d8bede4956b1c2aa51d418a956583801e Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Tue, 4 May 2021 17:54:15 +0100 Subject: [PATCH 3/4] Fix the note in case.py/case.c. --- src/case.c | 2 +- tools/case.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/case.c b/src/case.c index b11c869c..dd17dc4f 100644 --- a/src/case.c +++ b/src/case.c @@ -19,7 +19,7 @@ */ /* NOTE: This file is automatically generated from the UnicodeData.txt file in - * the Unicode Character database by the ucd-tools/tools/categories.py script. + * the Unicode Character database by the ucd-tools/tools/case.py script. */ #include "ucd/ucd.h" diff --git a/tools/case.py b/tools/case.py index 33cd5472..b6d15efd 100755 --- a/tools/case.py +++ b/tools/case.py @@ -52,7 +52,7 @@ if __name__ == '__main__': */ /* NOTE: This file is automatically generated from the UnicodeData.txt file in - * the Unicode Character database by the ucd-tools/tools/categories.py script. + * the Unicode Character database by the ucd-tools/tools/case.py script. */ #include "ucd/ucd.h" From 566e12e7265202155631395cfefc52e3f6aa8742 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Tue, 4 May 2021 18:05:59 +0100 Subject: [PATCH 4/4] ucd-tools 11.0.0.1 --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f777365..27f32b76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Change Log +## 11.0.0.1 - 2021-05-04 + +* Fix -fsanitize=address issues in case.c. + ## 11.0.0 - 2018-07-08 * Make the ispunct ctype compatibility implementation conformant.