Fix bug in strndup fix for windows. Move all includes out of headers and into code for strndup.h and move it to be the last include.

This commit is contained in:
AeroXuk
2017-11-23 19:11:25 +00:00
parent d205f4d2bb
commit f0246e7333
11 changed files with 23 additions and 18 deletions

View File

@@ -12,7 +12,7 @@ DEFAULT_INCLUDES = -I.. -I/usr/local/include
CFLAGS = -D UTF8PROC_EXPORTS -D LIBPOSTAL_EXPORTS CFLAGS = -D UTF8PROC_EXPORTS -D LIBPOSTAL_EXPORTS
lib_LTLIBRARIES = libpostal.la lib_LTLIBRARIES = libpostal.la
libpostal_la_SOURCES = strndup.c libpostal.c address_dictionary.c transliterate.c tokens.c trie.c trie_search.c trie_utils.c string_utils.c file_utils.c utf8proc/utf8proc.c cmp/cmp.c normalize.c numex.c features.c unicode_scripts.c address_parser.c address_parser_io.c averaged_perceptron.c crf.c crf_context.c sparse_matrix.c averaged_perceptron_tagger.c graph.c graph_builder.c language_classifier.c language_features.c logistic_regression.c logistic.c minibatch.c float_utils.c ngrams.c libpostal_la_SOURCES = libpostal.c address_dictionary.c transliterate.c tokens.c trie.c trie_search.c trie_utils.c string_utils.c file_utils.c utf8proc/utf8proc.c cmp/cmp.c normalize.c numex.c features.c unicode_scripts.c address_parser.c address_parser_io.c averaged_perceptron.c crf.c crf_context.c sparse_matrix.c averaged_perceptron_tagger.c graph.c graph_builder.c language_classifier.c language_features.c logistic_regression.c logistic.c minibatch.c float_utils.c ngrams.c
libpostal_la_LIBADD = libscanner.la $(CBLAS_LIBS) libpostal_la_LIBADD = libscanner.la $(CBLAS_LIBS)
libpostal_la_CFLAGS = $(CFLAGS_O2) libpostal_la_CFLAGS = $(CFLAGS_O2)
libpostal_la_LDFLAGS = -version-info @LIBPOSTAL_SO_VERSION@ -no-undefined libpostal_la_LDFLAGS = -version-info @LIBPOSTAL_SO_VERSION@ -no-undefined
@@ -38,27 +38,27 @@ address_parser_SOURCES = address_parser_cli.c json_encode.c linenoise/linenoise.
address_parser_LDADD = libscanner.la $(CBLAS_LIBS) address_parser_LDADD = libscanner.la $(CBLAS_LIBS)
address_parser_CFLAGS = $(CFLAGS_O3) address_parser_CFLAGS = $(CFLAGS_O3)
build_address_dictionary_SOURCES = strndup.c address_dictionary_builder.c address_dictionary.c file_utils.c string_utils.c trie.c trie_search.c utf8proc/utf8proc.c build_address_dictionary_SOURCES = address_dictionary_builder.c address_dictionary.c file_utils.c string_utils.c trie.c trie_search.c utf8proc/utf8proc.c
build_address_dictionary_CFLAGS = $(CFLAGS_O3) build_address_dictionary_CFLAGS = $(CFLAGS_O3)
build_numex_table_SOURCES = strndup.c numex_table_builder.c numex.c file_utils.c string_utils.c tokens.c trie.c trie_search.c utf8proc/utf8proc.c build_numex_table_SOURCES = numex_table_builder.c numex.c file_utils.c string_utils.c tokens.c trie.c trie_search.c utf8proc/utf8proc.c
build_numex_table_CFLAGS = $(CFLAGS_O3) build_numex_table_CFLAGS = $(CFLAGS_O3)
build_trans_table_SOURCES = strndup.c transliteration_table_builder.c transliterate.c trie.c trie_search.c file_utils.c string_utils.c utf8proc/utf8proc.c build_trans_table_SOURCES = transliteration_table_builder.c transliterate.c trie.c trie_search.c file_utils.c string_utils.c utf8proc/utf8proc.c
build_trans_table_CFLAGS = $(CFLAGS_O3) build_trans_table_CFLAGS = $(CFLAGS_O3)
address_parser_train_SOURCES = strndup.c address_parser_train.c address_parser.c address_parser_io.c averaged_perceptron.c crf.c crf_context.c sparse_matrix.c graph.c graph_builder.c float_utils.c averaged_perceptron_trainer.c crf_trainer.c crf_trainer_averaged_perceptron.c averaged_perceptron_tagger.c address_dictionary.c normalize.c numex.c features.c unicode_scripts.c transliterate.c trie.c trie_search.c trie_utils.c string_utils.c tokens.c file_utils.c shuffle.c utf8proc/utf8proc.c ngrams.c address_parser_train_SOURCES = address_parser_train.c address_parser.c address_parser_io.c averaged_perceptron.c crf.c crf_context.c sparse_matrix.c graph.c graph_builder.c float_utils.c averaged_perceptron_trainer.c crf_trainer.c crf_trainer_averaged_perceptron.c averaged_perceptron_tagger.c address_dictionary.c normalize.c numex.c features.c unicode_scripts.c transliterate.c trie.c trie_search.c trie_utils.c string_utils.c tokens.c file_utils.c shuffle.c utf8proc/utf8proc.c ngrams.c
address_parser_train_LDADD = libscanner.la $(CBLAS_LIBS) address_parser_train_LDADD = libscanner.la $(CBLAS_LIBS)
address_parser_train_CFLAGS = $(CFLAGS_O3) address_parser_train_CFLAGS = $(CFLAGS_O3)
address_parser_test_SOURCES = strndup.c address_parser_test.c address_parser.c address_parser_io.c averaged_perceptron.c crf.c crf_context.c sparse_matrix.c graph.c graph_builder.c float_utils.c averaged_perceptron_tagger.c address_dictionary.c normalize.c numex.c features.c unicode_scripts.c transliterate.c trie.c trie_search.c trie_utils.c string_utils.c tokens.c file_utils.c utf8proc/utf8proc.c ngrams.c address_parser_test_SOURCES = address_parser_test.c address_parser.c address_parser_io.c averaged_perceptron.c crf.c crf_context.c sparse_matrix.c graph.c graph_builder.c float_utils.c averaged_perceptron_tagger.c address_dictionary.c normalize.c numex.c features.c unicode_scripts.c transliterate.c trie.c trie_search.c trie_utils.c string_utils.c tokens.c file_utils.c utf8proc/utf8proc.c ngrams.c
address_parser_test_LDADD = libscanner.la $(CBLAS_LIBS) address_parser_test_LDADD = libscanner.la $(CBLAS_LIBS)
address_parser_test_CFLAGS = $(CFLAGS_O3) address_parser_test_CFLAGS = $(CFLAGS_O3)
language_classifier_train_SOURCES = strndup.c language_classifier_train.c language_classifier.c language_features.c language_classifier_io.c logistic_regression_trainer.c logistic_regression.c logistic.c sparse_matrix.c sparse_matrix_utils.c features.c minibatch.c float_utils.c stochastic_gradient_descent.c ftrl.c regularization.c cartesian_product.c normalize.c numex.c transliterate.c trie.c trie_search.c trie_utils.c address_dictionary.c string_utils.c file_utils.c utf8proc/utf8proc.c unicode_scripts.c shuffle.c language_classifier_train_SOURCES = language_classifier_train.c language_classifier.c language_features.c language_classifier_io.c logistic_regression_trainer.c logistic_regression.c logistic.c sparse_matrix.c sparse_matrix_utils.c features.c minibatch.c float_utils.c stochastic_gradient_descent.c ftrl.c regularization.c cartesian_product.c normalize.c numex.c transliterate.c trie.c trie_search.c trie_utils.c address_dictionary.c string_utils.c file_utils.c utf8proc/utf8proc.c unicode_scripts.c shuffle.c
language_classifier_train_LDADD = libscanner.la $(CBLAS_LIBS) language_classifier_train_LDADD = libscanner.la $(CBLAS_LIBS)
language_classifier_train_CFLAGS = $(CFLAGS_O3) language_classifier_train_CFLAGS = $(CFLAGS_O3)
language_classifier_SOURCES = strndup.c language_classifier_cli.c language_classifier.c language_features.c logistic_regression.c logistic.c sparse_matrix.c features.c minibatch.c float_utils.c normalize.c numex.c transliterate.c trie.c trie_search.c trie_utils.c address_dictionary.c string_utils.c file_utils.c utf8proc/utf8proc.c unicode_scripts.c language_classifier_SOURCES = language_classifier_cli.c language_classifier.c language_features.c logistic_regression.c logistic.c sparse_matrix.c features.c minibatch.c float_utils.c normalize.c numex.c transliterate.c trie.c trie_search.c trie_utils.c address_dictionary.c string_utils.c file_utils.c utf8proc/utf8proc.c unicode_scripts.c
language_classifier_LDADD = libscanner.la $(CBLAS_LIBS) language_classifier_LDADD = libscanner.la $(CBLAS_LIBS)
language_classifier_CFLAGS = $(CFLAGS_O3) language_classifier_CFLAGS = $(CFLAGS_O3)
language_classifier_test_SOURCES = strndup.c language_classifier_test.c language_classifier.c language_classifier_io.c language_features.c logistic_regression.c logistic.c sparse_matrix.c features.c minibatch.c float_utils.c normalize.c numex.c transliterate.c trie.c trie_search.c trie_utils.c address_dictionary.c string_utils.c file_utils.c utf8proc/utf8proc.c unicode_scripts.c language_classifier_test_SOURCES = language_classifier_test.c language_classifier.c language_classifier_io.c language_features.c logistic_regression.c logistic.c sparse_matrix.c features.c minibatch.c float_utils.c normalize.c numex.c transliterate.c trie.c trie_search.c trie_utils.c address_dictionary.c string_utils.c file_utils.c utf8proc/utf8proc.c unicode_scripts.c
language_classifier_test_LDADD = libscanner.la $(CBLAS_LIBS) language_classifier_test_LDADD = libscanner.la $(CBLAS_LIBS)
language_classifier_test_CFLAGS = $(CFLAGS_O3) language_classifier_test_CFLAGS = $(CFLAGS_O3)

View File

@@ -1,4 +1,5 @@
#include "normalize.h" #include "normalize.h"
#include "strndup.h"
#define FULL_STOP_CODEPOINT 0x002e #define FULL_STOP_CODEPOINT 0x002e
#define APOSTROPHE_CODEPOINT 0x0027 #define APOSTROPHE_CODEPOINT 0x0027

View File

@@ -38,7 +38,6 @@ As well as normalizations for individual string tokens:
#include "trie.h" #include "trie.h"
#include "tokens.h" #include "tokens.h"
#include "vector.h" #include "vector.h"
#include "strndup.h"
#define NORMALIZE_STRING_LATIN_ASCII 1 << 0 #define NORMALIZE_STRING_LATIN_ASCII 1 << 0
#define NORMALIZE_STRING_TRANSLITERATE 1 << 1 #define NORMALIZE_STRING_TRANSLITERATE 1 << 1

View File

@@ -1,6 +1,7 @@
#include <stdio.h> #include <stdio.h>
#include "log/log.h" #include "log/log.h"
#include "string_utils.h" #include "string_utils.h"
#include "strndup.h"
#define INVALID_INDEX(i, n) ((i) < 0 || (i) >= (n)) #define INVALID_INDEX(i, n) ((i) < 0 || (i) >= (n))

View File

@@ -16,7 +16,6 @@ Utilities for manipulating strings in C.
#include "collections.h" #include "collections.h"
#include "utf8proc/utf8proc.h" #include "utf8proc/utf8proc.h"
#include "vector.h" #include "vector.h"
#include "strndup.h"
#include "export.h" #include "export.h"
#define MAX_UTF8_CHAR_SIZE 4 #define MAX_UTF8_CHAR_SIZE 4

View File

@@ -1,6 +1,11 @@
#ifndef STRNDUP_H
#define STRNDUP_H
#include <config.h>
#ifndef HAVE_STRNDUP #ifndef HAVE_STRNDUP
#define HAVE_STRNDUP
char *strndup(const char *s, size_t n); char *strndup(const char *s, size_t n);
#endif /* HAVE_STRNDUP */ #endif /* HAVE_STRNDUP */
#endif /* STRNDUP_H */

View File

@@ -1,4 +1,5 @@
#include "tokens.h" #include "tokens.h"
#include "strndup.h"
tokenized_string_t *tokenized_string_new(void) { tokenized_string_t *tokenized_string_new(void) {

View File

@@ -11,7 +11,6 @@
#include "string_utils.h" #include "string_utils.h"
#include "token_types.h" #include "token_types.h"
#include "vector.h" #include "vector.h"
#include "strndup.h"
typedef struct token { typedef struct token {
size_t offset; size_t offset;

View File

@@ -3,6 +3,7 @@
#include "file_utils.h" #include "file_utils.h"
#include "log/log.h" #include "log/log.h"
#include "strndup.h"
#define TRANSLITERATION_TABLE_SIGNATURE 0xAAAAAAAA #define TRANSLITERATION_TABLE_SIGNATURE 0xAAAAAAAA

View File

@@ -12,7 +12,6 @@
#include "trie.h" #include "trie.h"
#include "trie_search.h" #include "trie_search.h"
#include "unicode_scripts.h" #include "unicode_scripts.h"
#include "strndup.h"
#include "export.h" #include "export.h"
#define LATIN_ASCII "latin-ascii" #define LATIN_ASCII "latin-ascii"