Skip to content

Commit e0e63bb

Browse files
committed
WIP
1 parent b5c28bf commit e0e63bb

21 files changed

+38630
-37516
lines changed

CMakeLists.txt

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,24 +21,27 @@ project(mapcode_cpp)
2121
# export ASAN_OPTIONS=debug=true:strict_string_checks=1:detect_stack_use_after_return=true:detect_invalid_pointer_pairs=99999:
2222
# detect_container_overflow=true:detect_odr_violation=2:check_initialization_order=true
2323

24-
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wall -Werror -fsanitize=address -fno-common -fno-optimize-sibling-calls -fno-omit-frame-pointer")
25-
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -std=c++11")
24+
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DNO_POSIX_THREADS -DDEBUG -Wall -fsanitize=address -fno-common -fno-optimize-sibling-calls -fno-omit-frame-pointer")
25+
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG -std=c++11")
2626
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -fsanitize=address")
2727

2828
set(SOURCE_FILES
29-
mapcodelib/basics.h
30-
mapcodelib/mapcode_alphabets.h
31-
mapcodelib/mapcode_countrynames.h
32-
mapcodelib/mapcode_countrynames_short.h
33-
mapcodelib/mapcode_fast_encode.h
34-
mapcodelib/mapcode_fastalpha.h
35-
mapcodelib/mapcode_territory_alphabets.h
36-
mapcodelib/mapcoder.c
37-
mapcodelib/mapcoder.h
38-
unittest/decode_test.h
39-
unittest/test_territories.c
40-
unittest/unittest.c
41-
utility/mapcode.cpp)
29+
mapcodelib/basics.h
30+
mapcodelib/mapcode_alphabets.h
31+
mapcodelib/mapcode_countrynames.h
32+
mapcodelib/mapcode_countrynames_local.h
33+
mapcodelib/mapcode_countrynames_short.h
34+
mapcodelib/mapcode_fast_encode.h
35+
mapcodelib/mapcode_fastalpha.h
36+
mapcodelib/mapcode_legacy.h
37+
mapcodelib/mapcode_territory_alphabets.h
38+
mapcodelib/mapcode_territories.h
39+
mapcodelib/mapcoder.c
40+
mapcodelib/mapcoder.h
41+
unittest/decode_test.h
42+
unittest/test_territories.c
43+
unittest/unittest.c
44+
utility/mapcode.cpp)
4245

4346
set(SOURCE_FILES_UNITTEST
4447
unittest/unittest.c)

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,14 @@ settings:
131131

132132
# Release Notes
133133

134+
### 2.4.1
135+
136+
* Turned territories, alphabets and error codes into enums; Cleaned up source.
137+
138+
* Split off legacy stuff into mapcode_legacy.h
139+
140+
* Added mapcode_territories.h
141+
134142
### 2.4.0
135143

136144
* Added scripts for Korean (Choson'gul / Hangul), Burmese, Khmer, Sinhalese, Thaana (Maldivan),

docs/mapcode_library_c.docx

-4.65 KB
Binary file not shown.

docs/mapcode_library_c.pdf

31.2 KB
Binary file not shown.

mapcodelib/basics.h

Lines changed: 16525 additions & 16574 deletions
Large diffs are not rendered by default.

mapcodelib/mapcode_alphabets.h

Lines changed: 33 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -24,41 +24,43 @@ extern "C" {
2424
/**
2525
* Alphabets:
2626
*/
27-
#define MAPCODE_ALPHABETS_TOTAL 28
28-
29-
#define MAPCODE_ALPHABET_ROMAN 0
30-
#define MAPCODE_ALPHABET_GREEK 1
31-
#define MAPCODE_ALPHABET_CYRILLIC 2
32-
#define MAPCODE_ALPHABET_HEBREW 3
33-
#define MAPCODE_ALPHABET_DEVANAGARI 4
34-
#define MAPCODE_ALPHABET_MALAYALAM 5
35-
#define MAPCODE_ALPHABET_GEORGIAN 6
36-
#define MAPCODE_ALPHABET_KATAKANA 7
37-
#define MAPCODE_ALPHABET_THAI 8
38-
#define MAPCODE_ALPHABET_LAO 9
39-
#define MAPCODE_ALPHABET_ARMENIAN 10
40-
#define MAPCODE_ALPHABET_BENGALI 11
41-
#define MAPCODE_ALPHABET_GURMUKHI 12
42-
#define MAPCODE_ALPHABET_TIBETAN 13
43-
#define MAPCODE_ALPHABET_ARABIC 14
44-
#define MAPCODE_ALPHABET_KOREAN 15
45-
#define MAPCODE_ALPHABET_BURMESE 16
46-
#define MAPCODE_ALPHABET_KHMER 17
47-
#define MAPCODE_ALPHABET_SINHALESE 18
48-
#define MAPCODE_ALPHABET_THAANA 19
49-
#define MAPCODE_ALPHABET_CHINESE 20
50-
#define MAPCODE_ALPHABET_TIFINAGH 21
51-
#define MAPCODE_ALPHABET_TAMIL 22
52-
#define MAPCODE_ALPHABET_AMHARIC 23
53-
#define MAPCODE_ALPHABET_TELUGU 24
54-
#define MAPCODE_ALPHABET_ODIA 25
55-
#define MAPCODE_ALPHABET_KANNADA 26
56-
#define MAPCODE_ALPHABET_GUJARATI 27
27+
enum Alphabet {
28+
_ALPHABET_MIN = -1,
29+
ALPHABET_ROMAN,
30+
ALPHABET_GREEK,
31+
ALPHABET_CYRILLIC,
32+
ALPHABET_HEBREW,
33+
ALPHABET_DEVANAGARI,
34+
ALPHABET_MALAYALAM,
35+
ALPHABET_GEORGIAN,
36+
ALPHABET_KATAKANA,
37+
ALPHABET_THAI,
38+
ALPHABET_LAO,
39+
ALPHABET_ARMENIAN,
40+
ALPHABET_BENGALI,
41+
ALPHABET_GURMUKHI,
42+
ALPHABET_TIBETAN,
43+
ALPHABET_ARABIC,
44+
ALPHABET_KOREAN,
45+
ALPHABET_BURMESE,
46+
ALPHABET_KHMER,
47+
ALPHABET_SINHALESE,
48+
ALPHABET_THAANA,
49+
ALPHABET_CHINESE,
50+
ALPHABET_TIFINAGH,
51+
ALPHABET_TAMIL,
52+
ALPHABET_AMHARIC,
53+
ALPHABET_TELUGU,
54+
ALPHABET_ODIA,
55+
ALPHABET_KANNADA,
56+
ALPHABET_GUJARATI,
57+
_ALPHABET_MAX,
58+
};
5759

5860
#define MAX_ALPHABETS_PER_TERRITORY 3
5961
typedef struct {
6062
int count;
61-
int alphabet[MAX_ALPHABETS_PER_TERRITORY];
63+
enum Alphabet alphabet[MAX_ALPHABETS_PER_TERRITORY];
6264
} TerritoryAlphabets;
6365

6466
#ifdef __cplusplus

0 commit comments

Comments
 (0)