#define PERL_POLLUTE /* -*- Mode: C -*- * $Basename: WAIT.xs $ * $Revision: 1.6 $ * Author : Ulrich Pfeifer * Created On : Thu Aug 15 18:01:00 1996 * Last Modified By: Ulrich Pfeifer * Last Modified On: Wed Nov 5 17:01:30 1997 * Language : C * Update Count : 106 * Status : Unknown, Use with caution! * * (C) Copyright 1997, Ulrich Pfeifer, all rights reserved. * */ #ifdef __cplusplus extern "C" { #endif #include "EXTERN.h" #include "perl.h" #include "XSUB.h" #include "ppport.h" #ifdef __cplusplus } #endif #include "soundex.h" #include "stemmer.h" #include "metaphone.h" #include "levenstein.h" static unsigned char *lchars = "abcdefghijklmnopqrstuvwxyzàáâãäåæçèéêëìíîïñòóôõöøùúûüýß"; static unsigned char *uchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝß"; static char *scodes = "01230120022455012623010202000000 00000000500000 000002"; static char *pcodes = "01230720022455012683070808000000 00000000500000 000008"; static unsigned char tou[256]; static unsigned char tol[256]; static unsigned char tos[256]; static char scd[256]; static char pcd[256]; static unsigned char *nums = "0123456789"; void init_lcuc () { short i; short l = strlen(lchars); for(i=0;i<256;i++) { tou[i] = (unsigned char)i; tol[i] = (unsigned char)i; tos[i] = (unsigned char)' '; scd[i] = ' '; pcd[i] = ' '; } for (i=0;iright)?left:right; ST(0) = sv_newmortal(); sv_setiv(ST(0), (IV)RETVAL); } MODULE = WAIT PACKAGE = WAIT::Metric int WLD(word,towards,mode=' ',limit=0) char * word char * towards char mode int limit