Geo-libpostal

 view release on metacpan or  search on metacpan

libpostal.xs  view on Meta::CPAN


short LP_SETUP = 0,
      LP_SETUP_LANGCLASS = 0,
      LP_SETUP_PARSER = 0;

MODULE = Geo::libpostal PACKAGE = Geo::libpostal PREFIX = lp_
PROTOTYPES: ENABLED

void
lp__teardown()
  PPCODE:
  if (LP_SETUP) {
    libpostal_teardown();
    LP_SETUP = 0;
  }
  if (LP_SETUP_LANGCLASS) {
    libpostal_teardown_language_classifier();
    LP_SETUP_LANGCLASS  = 0;
  }
  if (LP_SETUP_PARSER) {
    libpostal_teardown_parser();

libpostal.xs  view on Meta::CPAN


void
lp_expand_address(address, ...)
  SV *address
  PREINIT:
    char *src, *option_name;
    size_t src_len, option_len, i, j, num_expansions, num_langs, exp_len, lang_len, components;
    AV *languages_av;
    SV **lang;
    char **languages = NULL;
  PPCODE:
    /* lazy load libpostal */
    if (!LP_SETUP) {
      if (!libpostal_setup()) {
        croak("libpostal_setup() failed");
      }
      LP_SETUP = 1;
    }

    if (!LP_SETUP_LANGCLASS) {
      if(!libpostal_setup_language_classifier()) {

libpostal.xs  view on Meta::CPAN

      free(languages);
    }
    libpostal_expansion_array_destroy(expansions, num_expansions);

void
lp_parse_address(address, ...)
    SV *address
  PREINIT:
    char *src, *option_name;
    size_t src_len, option_len, i, label_len, component_len;
  PPCODE:
    /* lazy load libpostal */
    if (!LP_SETUP) {
      if (!libpostal_setup()) {
        croak("libpostal_setup() failed");
      }
      LP_SETUP = 1;
    }

    if (!LP_SETUP_PARSER) {
      if(!libpostal_setup_parser()) {



( run in 1.932 second using v1.01-cache-2.11-cpan-5511b514fd6 )