ddc
Classes | Typedefs | Functions | Variables
utilit.cpp File Reference
#include "utilit.h"
#include "ddcLocale.h"
#include "ddcTime.h"
#include "util_classes.h"
#include "bserialize.h"
#include "DDCInternalError.h"
#include <time.h>
#include <errno.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <dirent.h>
#include <pthread.h>
Include dependency graph for utilit.cpp:

Classes

struct  CPredictPartOfSpeech
 

Typedefs

typedef bool(* SymbolCheckerFunc) (BYTE)
 

Functions

bool FileExists (const char *FName)
 
file_off_t FileSize (const char *filename)
 
time_t FileMTime (const char *filename)
 
bool IsDirectory (const char *DirName)
 
bool FSeek (FILE *fp, file_off_t pos, int origin)
 
file_off_t FTell (FILE *fp)
 
void ErrorMessage (const string &label, const string &message)
 
void ErrorMessage (const string &Message)
 
string MakeFName (const string &InpitFileName, const string &Ext)
 
bool MakePath (const char *RossPath, const char *FileName, char *FullPath)
 
string GetPathByFile (string FileName)
 
bool IsBinFile (const char *FileName)
 
string CreateTempFileName ()
 
bool IsEmptyLine (const char *t)
 
char * rtrim (char *s)
 
bool IsSuperEqualChar (BYTE ch1, BYTE ch2, MorphLanguageEnum langua)
 
int CompareWithoutRegister (const char *s1, const char *s2, size_t l, MorphLanguageEnum langua)
 
BYTE force_rus_char (BYTE ch)
 
bool force_to_rus (char *dest, const char *sour, size_t len)
 
char * IntToStr (int Value, char *Buffer)
 
string & IntToStr (int Value, string &oBuffer)
 
string FileExtension (const string &FileName)
 
string FileDirectory (const string &FileName)
 Returns directory part of FileName, or "." if FileName is a bare filename, like dirname(3) More...
 
string FileBasename (const string &FileName)
 Returns file part of FileName, like basename(3) More...
 
string FileBasename (const string &FileName, const string &FileExtension)
 Returns basename FileName, removing any trailing extension FileExtension. More...
 
string CurrentDirectory (void)
 Wrapper for getcwd(); returns current working directory of current process. More...
 
bool IsHtmlFile (const string &FileName)
 
bool IsTableFile (const string &FileName)
 
bool IsJsonFile (const string &FileName)
 
bool IsAbsolutePath (const string &PathName)
 Returns true iff PathName is an absolute path (simple string heuristics) More...
 
string RelativePathName (const string &RefDir, const string &PathName)
 If PathName is absolute, it is returned; otherwise returns (RefDir + "/" + PathName) More...
 
string RelativeFileName (const string &RefFile, const string &PathName)
 If PathName is absolute, it is returned; otherwise returns (FileDirectory(RefFile) + "/" + PathName) More...
 
void AddFile (const char *MainFile, const char *ToAdd)
 AddFile(): old ugly file-append hack using system("cat...") More...
 
void FileAppend (FILE *src, FILE *dst)
 FileAppend(): newer better replacement for AddFile() More...
 
void FileAppend (const char *srcFile, const char *dstFile)
 
void FileAppend (const string &srcFile, const string &dstFile)
 
void FileAppendPartial (FILE *src, FILE *dst, size_t nBytes)
 FileAppendPartial(): append a substring of src to dst. More...
 
string GetRmlVariable ()
 
static string GetStringInnerFromTheFile (string RegistryPath, string MainPath, string RmlPath)
 
string GetIniFilePath ()
 
size_t GetNumberOfOpenFiles (pid_t pid)
 
string GetRegistryString (string RegistryPath)
 
bool CanGetRegistryString (string RegistryPath)
 
bool IsRmlRegistered (string &Error)
 
struct tm RmlGetCurrentTime ()
 
int GetPredictionPartOfSpeech (const string &PartOfSpeech, MorphLanguageEnum langua)
 
bool GetLanguageByString (string s, MorphLanguageEnum &Result)
 
string GetStringByLanguage (MorphLanguageEnum Langua)
 
bool is_spc_fill (BYTE x)
 
bool is_generic_upper (BYTE x)
 
bool is_generic_lower (BYTE x)
 
bool is_generic_alpha (BYTE x)
 
bool is_URL_alpha (BYTE x)
 
bool is_english_upper (BYTE x)
 
bool is_english_upper_vowel (BYTE x)
 
bool is_english_lower (BYTE x)
 
bool is_english_lower_vowel (BYTE x)
 
bool is_english_alpha (BYTE x)
 
BYTE etoupper (BYTE ch)
 
BYTE etolower (BYTE ch)
 
bool is_german_upper (BYTE x)
 
bool is_german_lower (BYTE x)
 
bool is_german_lower_vowel (BYTE x)
 
bool is_german_upper_vowel (BYTE x)
 
bool is_german_alpha (BYTE x)
 
BYTE gtoupper (BYTE ch)
 
BYTE gtolower (BYTE ch)
 
bool is_russian_upper (BYTE x)
 
bool is_russian_lower (BYTE x)
 
bool is_russian_lower_vowel (BYTE x)
 
bool is_russian_upper_vowel (BYTE x)
 
bool is_russian_lower_consonant (BYTE x)
 
bool is_russian_upper_consonant (BYTE x)
 
bool is_russian_consonant (BYTE x)
 
bool is_russian_alpha (BYTE x)
 
BYTE rtoupper (BYTE ch)
 
BYTE rtolower (BYTE ch)
 
bool is_lower_vowel (BYTE x, MorphLanguageEnum Langua)
 
bool is_upper_vowel (BYTE x, MorphLanguageEnum Langua)
 
bool is_upper_consonant (BYTE x, MorphLanguageEnum Langua)
 
bool is_alpha (BYTE x)
 
bool is_alpha (BYTE x, MorphLanguageEnum Langua)
 
bool is_lower_alpha (BYTE x, MorphLanguageEnum Langua)
 
bool is_upper_alpha (BYTE x, MorphLanguageEnum Langua)
 
bool isnspace (BYTE x)
 
BYTE ReverseChar (BYTE ch, MorphLanguageEnum langua)
 
string & EngMakeUpper (string &word)
 
string & EngMakeLower (string &word)
 
bool is_arab_digit (BYTE c)
 
template<class T >
bool CheckLanguage (const T &src, size_t Length, MorphLanguageEnum langua)
 
bool IsRussian (const char *word)
 
bool CheckLanguage (const char *word, MorphLanguageEnum langua)
 
string & EngRusMakeLower (string &word)
 
char * RmlMakeUpper (char *word, MorphLanguageEnum langua)
 
string & RmlMakeUpper (string &word, MorphLanguageEnum langua)
 
string & RmlMakeLower (string &word, MorphLanguageEnum langua)
 
string & EngRusMakeUpper (string &word)
 
char * EngRusMakeUpper (char *word)
 
template<class T >
void ConvertJO2JeTemplate (T &src, size_t Length)
 
void ConvertJO2Je (char *src, size_t Length)
 
void ConvertJO2Je (string &src)
 
void ConvertJO2Je (char *src)
 
string & TrimLeft (string &str)
 
string & TrimRight (string &str)
 
string & Trim (string &str)
 
bool StartsWith (const string &body, const string &prefix)
 
int isbracket (BYTE x)
 
size_t dual_bracket (BYTE x)
 
string timestampLocal (time_t timeval)
 moo: timestamp stuff More...
 
string timestampUTC (time_t timeval)
 
vector< string > stringSplit (const char *s, const char *delims)
 moo: convenience wrapper for string-to-vector tokenization using StringTokenizer More...
 
void stringSplitE (const string &s, const string &delims, vector< string > &tokens)
 
vector< string > stringSplitE (const string &s, const string &delims)
 moo: stringSplitE() variant returning token-vector More...
 
uint32_t date2int (signed int y, unsigned int m, unsigned int d)
 moo: date-to-int encoding (v2.2.4: use signed years) More...
 
void int2date (uint32_t i, signed int *y, unsigned int *m, unsigned int *d)
 moo: int-to-date decoding (v2.2.4: use signed years) More...
 
string int2hex (int32_t i)
 moo: int-to-hexidecimal string encoding; encoding preserves sort order (for subcorpus->server communications) More...
 
int32_t hex2int (const string &s)
 moo: int-to-hexidecimal string deccoding; ; encoding preserves sort order More...
 
static void ddc_loglabel_destroy (void *label)
 
static void ddc_thread_data_alloc (void)
 
void ddc_thread_init (const char *log_label)
 register a thread-local log prefix (unix only) More...
 
const char * ddc_log_label (void)
 get thread-local log prefix, or empty string if none registered More...
 
const char * ddc_set_log_label (const char *log_label)
 set thread-local log prefix; returns old label (if any) More...
 
bool LoadFileToString (string FileName, string &Result, bool clobber)
 
bool SaveStringToFile (const string &Str, const string &FileName)
 
bool is_pseudo_graph (BYTE x)
 
char wtk (char c)
 
char ktw (char c)
 
void WinToKOI8 (string &s)
 
void KOI8ToWin (string &s)
 
string ConvertASCIIToHtmlSymbols (const string &txt)
 
bool MakeDir (const string &DirName)
 
bool MakeDirP (const string &DirName)
 
bool RemoveWithPrint (const string &FileName)
 
size_t HashValue (const char *pc)
 
bool RmlCopyFile (const char *oldpath, const char *newpath)
 
bool RmlMoveFile (const char *oldpath, const char *newpath)
 
string BuildRMLPath (const char *s)
 

Variables

const WORD fWordDelim = 1
 
const WORD RusUpper = 2
 
const WORD RusLower = 4
 
const WORD GerUpper = 8
 
const WORD GerLower = 16
 
const WORD EngUpper = 32
 
const WORD EngLower = 64
 
const WORD OpnBrck = 128
 
const WORD ClsBrck = 256
 
const WORD UpRomDigits = 512
 
const WORD LwRomDigits = 1024
 
const WORD LatinVowel = 2048
 
const WORD RussianVowel = 4096
 
const WORD URL_CHAR = 8192
 
const WORD ASCII [256]
 
const char RML_REGISTRY_FILENAME [] = "rml.ini"
 
const int predict_poses_size = 4
 
const CPredictPartOfSpeech predict_rus_pos [predict_poses_size]
 
const CPredictPartOfSpeech predict_eng_pos [predict_poses_size]
 
const CPredictPartOfSpeech predict_ger_pos [predict_poses_size]
 
const BYTE Ccedille = 199
 
const BYTE Egravis = 200
 
const BYTE Ezirkun = 202
 
const BYTE Azirkun = 194
 
const BYTE Ozirkun = 212
 
const BYTE Ntilda = 209
 
const BYTE Eakut = 201
 
const BYTE Uzirkun = 219
 
const BYTE ccedille = 231
 
const BYTE egravis = 232
 
const BYTE ezirkun = 234
 
const BYTE azirkun = 226
 
const BYTE ozirkun = 244
 
const BYTE ntilda = 241
 
const BYTE eakut = 233
 
const BYTE uzirkun = 251
 
const string open_brackets = "{[(<"
 
const string close_brackets = "}])>"
 
const string all_brackets = open_brackets+close_brackets
 
static pthread_once_t ddc_thread_data_once = PTHREAD_ONCE_INIT
 
static pthread_key_t ddc_loglabel_key
 
BYTE kw []
 
BYTE wk []
 

Typedef Documentation

◆ SymbolCheckerFunc

typedef bool(* SymbolCheckerFunc) (BYTE)

Function Documentation

◆ FileExists()

bool FileExists ( const char *  FName)

◆ FileSize()

file_off_t FileSize ( const char *  filename)

References FSeek(), and FTell().

Referenced by FileSize(), CIndexSetForQueryingStage::GetOccurrsFileSize(), IsDirectory(), CShortStringHolder::ReadShortStringHolder(), ReadVector(), CConcXml::SplitBibliography(), and CConcXml::UnionBibliographies().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FileMTime()

time_t FileMTime ( const char *  filename)

Referenced by FileSize(), and CConcordance::UpdateTimestamp().

Here is the caller graph for this function:

◆ IsDirectory()

bool IsDirectory ( const char *  DirName)

Referenced by FileExists(), IsDirectory(), and MakeDirP().

Here is the caller graph for this function:

◆ FSeek()

bool FSeek ( FILE *  fp,
file_off_t  pos,
int  origin 
)

◆ FTell()

file_off_t FTell ( FILE *  fp)

Referenced by FileSize(), and CItemIndexForLoading::ReadFromTemporalFile().

Here is the caller graph for this function:

◆ ErrorMessage() [1/2]

void ErrorMessage ( const string &  label,
const string &  message 
)

◆ ErrorMessage() [2/2]

void ErrorMessage ( const string &  Message)

References ErrorMessage().

Here is the call graph for this function:

◆ MakeFName()

string MakeFName ( const string &  InpitFileName,
const string &  Ext 
)

◆ MakePath()

bool MakePath ( const char *  RossPath,
const char *  FileName,
char *  FullPath 
)

References FileExists().

Referenced by FileSize(), TRoss::FullLoad(), TRoss::LoadOnlyConstants(), and TRoss::ReadUnitComments().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetPathByFile()

string GetPathByFile ( string  FileName)

Referenced by ConcIndexatorInvoker::BuildIndex(), FileSize(), MorphoWizard::get_predict_src_file_path(), and GetFullPathByName().

Here is the caller graph for this function:

◆ IsBinFile()

bool IsBinFile ( const char *  FileName)

Referenced by TRoss::BuildCorteges(), TRoss::BuildUnits(), FileSize(), and TRoss::ReadUnitComments().

Here is the caller graph for this function:

◆ CreateTempFileName()

string CreateTempFileName ( )

References _MAX_PATH.

Referenced by FileSize().

Here is the caller graph for this function:

◆ IsEmptyLine()

bool IsEmptyLine ( const char *  t)

Referenced by FileSize(), and TRoss::ReadFromStrWithOneSignatura().

Here is the caller graph for this function:

◆ rtrim()

char* rtrim ( char *  s)

◆ IsSuperEqualChar()

bool IsSuperEqualChar ( BYTE  ch1,
BYTE  ch2,
MorphLanguageEnum  langua 
)

References is_english_upper(), is_russian_upper(), ReverseChar(), and rtolower().

Referenced by DDCProcessMemoryStatus::fetch(), CGraphmatFile::FindKeySequence(), and StrSpacingCompare().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CompareWithoutRegister()

int CompareWithoutRegister ( const char *  s1,
const char *  s2,
size_t  l,
MorphLanguageEnum  langua 
)

References ReverseChar().

Referenced by DDCProcessMemoryStatus::fetch(), and CGraphanDicts::FindInIdents().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ force_rus_char()

BYTE force_rus_char ( BYTE  ch)

Referenced by DDCProcessMemoryStatus::fetch(), and force_to_rus().

Here is the caller graph for this function:

◆ force_to_rus()

bool force_to_rus ( char *  dest,
const char *  sour,
size_t  len 
)

References force_rus_char(), and is_russian_alpha().

Referenced by DDCProcessMemoryStatus::fetch(), and CGraphmatFile::InitNonContextDescriptors().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IntToStr() [1/2]

char* IntToStr ( int  Value,
char *  Buffer 
)

Referenced by DDCProcessMemoryStatus::fetch(), and CGraphmatFile::GetGraphematicalLine().

Here is the caller graph for this function:

◆ IntToStr() [2/2]

string& IntToStr ( int  Value,
string &  oBuffer 
)

◆ FileExtension()

string FileExtension ( const string &  FileName)

Referenced by FileSize(), IsHtmlFile(), IsJsonFile(), and IsTableFile().

Here is the caller graph for this function:

◆ FileDirectory()

string FileDirectory ( const string &  FileName)

Returns directory part of FileName, or "." if FileName is a bare filename, like dirname(3)

Referenced by FileSize(), MakeDirP(), RelativeFileName(), and CConcIndexator::SplitProject().

Here is the caller graph for this function:

◆ FileBasename() [1/2]

string FileBasename ( const string &  FileName)

Returns file part of FileName, like basename(3)

Referenced by FileBasename(), FileSize(), and CDDCLeafServer::handle__info().

Here is the caller graph for this function:

◆ FileBasename() [2/2]

string FileBasename ( const string &  FileName,
const string &  FileExtension 
)

Returns basename FileName, removing any trailing extension FileExtension.

References FileBasename().

Here is the call graph for this function:

◆ CurrentDirectory()

string CurrentDirectory ( void  )

Wrapper for getcwd(); returns current working directory of current process.

Referenced by do_start(), and FileSize().

Here is the caller graph for this function:

◆ IsHtmlFile()

bool IsHtmlFile ( const string &  FileName)

References EngMakeLower(), and FileExtension().

Referenced by FileSize(), and CIndexDocument::NormalizeDocumentBuffer().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsTableFile()

bool IsTableFile ( const string &  FileName)

References EngMakeLower(), and FileExtension().

Referenced by FileSize().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsJsonFile()

bool IsJsonFile ( const string &  FileName)

References EngMakeLower(), and FileExtension().

Referenced by FileSize().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsAbsolutePath()

bool IsAbsolutePath ( const string &  PathName)

Returns true iff PathName is an absolute path (simple string heuristics)

Referenced by FileSize(), and RelativePathName().

Here is the caller graph for this function:

◆ RelativePathName()

string RelativePathName ( const string &  RefDir,
const string &  PathName 
)

If PathName is absolute, it is returned; otherwise returns (RefDir + "/" + PathName)

References IsAbsolutePath().

Referenced by FileSize(), and RelativeFileName().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RelativeFileName()

string RelativeFileName ( const string &  RefFile,
const string &  PathName 
)

If PathName is absolute, it is returned; otherwise returns (FileDirectory(RefFile) + "/" + PathName)

References FileDirectory(), and RelativePathName().

Referenced by FileSize(), CDDCLeafServer::handle__info(), CConcordance::LoadOptionsFromString(), CSourceFileHolder::ReadSourceFileList(), and CDDCServerOptions::Set().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddFile()

void AddFile ( const char *  MainFile,
const char *  ToAdd 
)

AddFile(): old ugly file-append hack using system("cat...")

References _MAX_PATH.

Referenced by FileSize().

Here is the caller graph for this function:

◆ FileAppend() [1/3]

void FileAppend ( FILE *  src,
FILE *  dst 
)

FileAppend(): newer better replacement for AddFile()

References DDC_STATIC_BUFLEN.

Referenced by FileAppend(), FileSize(), and CConcXml::UnionBibliographies().

Here is the caller graph for this function:

◆ FileAppend() [2/3]

void FileAppend ( const char *  srcFile,
const char *  dstFile 
)

References FileAppend(), and Format().

Here is the call graph for this function:

◆ FileAppend() [3/3]

void FileAppend ( const string &  srcFile,
const string &  dstFile 
)

References FileAppend().

Here is the call graph for this function:

◆ FileAppendPartial()

void FileAppendPartial ( FILE *  src,
FILE *  dst,
size_t  nBytes 
)

FileAppendPartial(): append a substring of src to dst.

References DDC_STATIC_BUFLEN, and Format().

Referenced by FileSize(), and CConcXml::SplitBibliography().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetRmlVariable()

string GetRmlVariable ( )

References Trim().

Referenced by BuildRMLPath(), DDCProcessMemoryStatus::fetch(), GetIniFilePath(), GetRegistryString(), and CLemmatizer::LoadDictionariesRegistry().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetStringInnerFromTheFile()

static string GetStringInnerFromTheFile ( string  RegistryPath,
string  MainPath,
string  RmlPath 
)
static

References RML_REGISTRY_FILENAME, and Trim().

Referenced by GetRegistryString().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetIniFilePath()

string GetIniFilePath ( )

References GetRmlVariable().

Referenced by DDCProcessMemoryStatus::fetch(), GetRegistryString(), IsRmlRegistered(), LoadDDCServer(), LoadLocalCorpora(), and main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetNumberOfOpenFiles()

size_t GetNumberOfOpenFiles ( pid_t  pid = 0)

return the number of open files for pid (linux only).

  • pid=0 maps to PID of current process)

Referenced by DDCProcessMemoryStatus::fetch(), CDDCLeafServer::handle__status(), and CDDCBranchServer::handle__status().

Here is the caller graph for this function:

◆ GetRegistryString()

string GetRegistryString ( string  RegistryPath)

◆ CanGetRegistryString()

bool CanGetRegistryString ( string  RegistryPath)

References GetRegistryString().

Referenced by DDCProcessMemoryStatus::fetch(), and GetThesaurusPath().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsRmlRegistered()

bool IsRmlRegistered ( string &  Error)

References FileExists(), GetIniFilePath(), CExpc::m_strCause, and RML_REGISTRY_FILENAME.

Referenced by DDCProcessMemoryStatus::fetch(), LoadDDCServer(), LoadLocalCorpora(), and main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RmlGetCurrentTime()

struct tm RmlGetCurrentTime ( )

References DDCTimeUnix::CalendarTime(), and DDCTimeUnix::Now().

Referenced by TUnitComment::TUnitComment().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetPredictionPartOfSpeech()

int GetPredictionPartOfSpeech ( const string &  PartOfSpeech,
MorphLanguageEnum  langua 
)

◆ GetLanguageByString()

bool GetLanguageByString ( string  s,
MorphLanguageEnum Result 
)

References EngRusMakeUpper(), morphEnglish, morphGeneric, morphGerman, morphRussian, and morphURL.

Referenced by MorphoWizard::load_wizard(), CConcordance::LoadOptionsFromString(), and TxLang::setLanguage().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetStringByLanguage()

string GetStringByLanguage ( MorphLanguageEnum  Langua)

◆ is_spc_fill()

bool is_spc_fill ( BYTE  x)

Referenced by ClearString(), CGraLine::ReadWord(), and StrSpacingCompare().

Here is the caller graph for this function:

◆ is_generic_upper()

bool is_generic_upper ( BYTE  x)

References ASCII, and EngUpper.

Referenced by is_upper_alpha().

Here is the caller graph for this function:

◆ is_generic_lower()

bool is_generic_lower ( BYTE  x)

References ASCII, and EngLower.

Referenced by is_lower_alpha().

Here is the caller graph for this function:

◆ is_generic_alpha()

bool is_generic_alpha ( BYTE  x)

References is_english_alpha().

Referenced by is_alpha().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_URL_alpha()

bool is_URL_alpha ( BYTE  x)

References ASCII, and URL_CHAR.

Referenced by is_alpha().

Here is the caller graph for this function:

◆ is_english_upper()

bool is_english_upper ( BYTE  x)

References ASCII, and EngUpper.

Referenced by ClearString(), EngMakeLower(), gtolower(), is_english_alpha(), is_upper_alpha(), CUnitHolder::is_uppercase(), IsSuperEqualChar(), and ReverseChar().

Here is the caller graph for this function:

◆ is_english_upper_vowel()

bool is_english_upper_vowel ( BYTE  x)

References ASCII, EngUpper, and LatinVowel.

Referenced by is_upper_vowel().

Here is the caller graph for this function:

◆ is_english_lower()

bool is_english_lower ( BYTE  x)

◆ is_english_lower_vowel()

bool is_english_lower_vowel ( BYTE  x)

References ASCII, EngLower, and LatinVowel.

Referenced by is_lower_vowel().

Here is the caller graph for this function:

◆ is_english_alpha()

bool is_english_alpha ( BYTE  x)

References is_english_lower(), and is_english_upper().

Referenced by CheckLanguage(), CGraphmatFile::DealExtensionsAndLocalFileNames(), is_alpha(), is_generic_alpha(), and CUnitHolder::is_latin_alpha().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ etoupper()

BYTE etoupper ( BYTE  ch)

◆ etolower()

BYTE etolower ( BYTE  ch)

References Azirkun, azirkun, Ccedille, ccedille, Eakut, eakut, Egravis, egravis, Ezirkun, ezirkun, Ntilda, ntilda, Ouml, ouml, Ozirkun, ozirkun, Uzirkun, and uzirkun.

Referenced by EngMakeLower(), EngRusMakeLower(), gtolower(), and ReverseChar().

Here is the caller graph for this function:

◆ is_german_upper()

bool is_german_upper ( BYTE  x)

References ASCII, and GerUpper.

Referenced by is_german_alpha(), is_upper_alpha(), CUnitHolder::is_uppercase(), and RmlMakeLower().

Here is the caller graph for this function:

◆ is_german_lower()

bool is_german_lower ( BYTE  x)

References ASCII, and GerLower.

Referenced by GerEngRusMakeUpperTemplate(), is_german_alpha(), is_lower_alpha(), and CUnitHolder::is_lowercase().

Here is the caller graph for this function:

◆ is_german_lower_vowel()

bool is_german_lower_vowel ( BYTE  x)

References ASCII, GerLower, and LatinVowel.

Referenced by is_lower_vowel().

Here is the caller graph for this function:

◆ is_german_upper_vowel()

bool is_german_upper_vowel ( BYTE  x)

References ASCII, GerUpper, and LatinVowel.

Referenced by is_upper_vowel().

Here is the caller graph for this function:

◆ is_german_alpha()

bool is_german_alpha ( BYTE  x)

References is_german_lower(), and is_german_upper().

Referenced by CheckLanguage(), is_alpha(), and CUnitHolder::is_latin_alpha().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gtoupper()

BYTE gtoupper ( BYTE  ch)

References Auml, auml, etoupper(), is_english_lower(), Ouml, ouml, Uuml, and uuml.

Referenced by GerEngRusMakeUpperTemplate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gtolower()

BYTE gtolower ( BYTE  ch)

References Auml, auml, etolower(), is_english_upper(), Ouml, ouml, Uuml, and uuml.

Referenced by RmlMakeLower().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_russian_upper()

bool is_russian_upper ( BYTE  x)

◆ is_russian_lower()

bool is_russian_lower ( BYTE  x)

◆ is_russian_lower_vowel()

bool is_russian_lower_vowel ( BYTE  x)

References ASCII, RusLower, and RussianVowel.

Referenced by is_lower_vowel(), and is_russian_lower_consonant().

Here is the caller graph for this function:

◆ is_russian_upper_vowel()

bool is_russian_upper_vowel ( BYTE  x)

References ASCII, RussianVowel, and RusUpper.

Referenced by is_russian_upper_consonant(), and is_upper_vowel().

Here is the caller graph for this function:

◆ is_russian_lower_consonant()

bool is_russian_lower_consonant ( BYTE  x)

References is_russian_lower(), and is_russian_lower_vowel().

Referenced by is_russian_consonant().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_russian_upper_consonant()

bool is_russian_upper_consonant ( BYTE  x)

References is_russian_upper(), and is_russian_upper_vowel().

Referenced by is_russian_consonant().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_russian_consonant()

bool is_russian_consonant ( BYTE  x)

References is_russian_lower_consonant(), and is_russian_upper_consonant().

Here is the call graph for this function:

◆ is_russian_alpha()

bool is_russian_alpha ( BYTE  x)

◆ rtoupper()

BYTE rtoupper ( BYTE  ch)

References Apostrophe, is_russian_lower(), LowerJO_cp1251, and UpperJO_cp1251.

Referenced by EngRusMakeUpper(), GerEngRusMakeUpperTemplate(), and ReverseChar().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rtolower()

BYTE rtolower ( BYTE  ch)

References Apostrophe, is_russian_upper(), LowerJO_cp1251, and UpperJO_cp1251.

Referenced by EngRusMakeLower(), IsSuperEqualChar(), and ReverseChar().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_lower_vowel()

bool is_lower_vowel ( BYTE  x,
MorphLanguageEnum  Langua 
)

References is_english_lower_vowel(), is_german_lower_vowel(), is_russian_lower_vowel(), morphEnglish, morphGerman, and morphRussian.

Referenced by MorphoWizard::slf_to_mrd(), and TransferReverseVowelNoToCharNo().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_upper_vowel()

bool is_upper_vowel ( BYTE  x,
MorphLanguageEnum  Langua 
)

References is_english_upper_vowel(), is_german_upper_vowel(), is_russian_upper_vowel(), morphEnglish, morphGerman, and morphRussian.

Referenced by is_upper_consonant(), and TransferReverseVowelNoToCharNo().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_upper_consonant()

bool is_upper_consonant ( BYTE  x,
MorphLanguageEnum  Langua 
)

References is_upper_alpha(), and is_upper_vowel().

Referenced by CLemmatizer::CheckAbbreviation().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_alpha() [1/2]

bool is_alpha ( BYTE  x)

References is_german_alpha(), and is_russian_alpha().

Referenced by InitAlphabet(), CGraLine::LengthUntilDelimiters(), NormalizeOborotStr(), and RmlPcreMakeTables().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_alpha() [2/2]

bool is_alpha ( BYTE  x,
MorphLanguageEnum  Langua 
)

◆ is_lower_alpha()

bool is_lower_alpha ( BYTE  x,
MorphLanguageEnum  Langua 
)

◆ is_upper_alpha()

bool is_upper_alpha ( BYTE  x,
MorphLanguageEnum  Langua 
)

◆ isnspace()

bool isnspace ( BYTE  x)

Referenced by CGraLine::ReadWord().

Here is the caller graph for this function:

◆ ReverseChar()

BYTE ReverseChar ( BYTE  ch,
MorphLanguageEnum  langua 
)

◆ EngMakeUpper()

string& EngMakeUpper ( string &  word)

References etoupper(), is_english_lower(), and RegisterConverter().

Referenced by CQCount::countOptionsToString(), CConcSession::GetResultFormatByString(), CQFSort::toString(), CQFBiblSort::toString(), CQFContextSort::toString(), and CQFPrune::toString().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ EngMakeLower()

string& EngMakeLower ( string &  word)

References etolower(), is_english_upper(), and RegisterConverter().

Referenced by CBiblIndex::AddBiblExpander(), GetLogLevel(), IsHtmlFile(), IsJsonFile(), IsTableFile(), newTermExpander(), and CDDCServerOptions::Set().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_arab_digit()

bool is_arab_digit ( BYTE  c)

Referenced by CheckLanguage().

Here is the caller graph for this function:

◆ CheckLanguage() [1/2]

template<class T >
bool CheckLanguage ( const T &  src,
size_t  Length,
MorphLanguageEnum  langua 
)

References is_arab_digit(), is_english_alpha(), is_german_alpha(), is_russian_alpha(), morphDigits, morphEnglish, morphGerman, and morphRussian.

Referenced by MorphoWizard::check_prefixes(), CheckLanguage(), CreateMorphIndex(), and IsRussian().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsRussian()

bool IsRussian ( const char *  word)

References CheckLanguage(), and morphRussian.

Referenced by TRoss::ReadFromStrWithOneSignatura().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CheckLanguage() [2/2]

bool CheckLanguage ( const char *  word,
MorphLanguageEnum  langua 
)

References CheckLanguage().

Here is the call graph for this function:

◆ EngRusMakeLower()

string& EngRusMakeLower ( string &  word)

References etolower(), is_russian_upper(), and rtolower().

Referenced by RmlMakeLower().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RmlMakeUpper() [1/2]

char* RmlMakeUpper ( char *  word,
MorphLanguageEnum  langua 
)

◆ RmlMakeUpper() [2/2]

string& RmlMakeUpper ( string &  word,
MorphLanguageEnum  langua 
)

References GerEngRusMakeUpperTemplate(), morphGeneric, and stoupper().

Here is the call graph for this function:

◆ RmlMakeLower()

string& RmlMakeLower ( string &  word,
MorphLanguageEnum  langua 
)

◆ EngRusMakeUpper() [1/2]

string& EngRusMakeUpper ( string &  word)

References etoupper(), is_russian_lower(), and rtoupper().

Referenced by GetLanguageByString(), and CGraphanDicts::ReadExtensions().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ EngRusMakeUpper() [2/2]

char* EngRusMakeUpper ( char *  word)

References etoupper(), is_english_lower(), is_russian_lower(), and rtoupper().

Here is the call graph for this function:

◆ ConvertJO2JeTemplate()

template<class T >
void ConvertJO2JeTemplate ( T &  src,
size_t  Length 
)

References LowerE_cp1251, LowerJO_cp1251, UpperE_cp1251, and UpperJO_cp1251.

Referenced by ConvertJO2Je().

Here is the caller graph for this function:

◆ ConvertJO2Je() [1/3]

void ConvertJO2Je ( char *  src,
size_t  Length 
)

References ConvertJO2JeTemplate().

Referenced by CLemmatizerRussian::FilterSrc(), CGraphmatFile::GraphmatMain(), and MorphoWizard::prepare_for_RML().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ConvertJO2Je() [2/3]

void ConvertJO2Je ( string &  src)

References ConvertJO2JeTemplate().

Here is the call graph for this function:

◆ ConvertJO2Je() [3/3]

void ConvertJO2Je ( char *  src)

References ConvertJO2JeTemplate().

Here is the call graph for this function:

◆ TrimLeft()

string& TrimLeft ( string &  str)

Referenced by DDCProcessMemoryStatus::fetch(), and Trim().

Here is the caller graph for this function:

◆ TrimRight()

string& TrimRight ( string &  str)

Referenced by DDCProcessMemoryStatus::fetch(), CSocketAddr::ParseAddrPort(), and Trim().

Here is the caller graph for this function:

◆ Trim()

string& Trim ( string &  str)

References TrimLeft(), and TrimRight().

Referenced by CBiblIndex::AddBiblExpander(), AddMessage(), MorphoWizard::AddPrefixSet(), BuildHtmlHitStrWithHighlighting(), MorphoWizard::check_common_grammems(), MorphoWizard::check_prefixes(), CQueryTokenNode::CreateFileList(), CRunQueryData::CRunQueryData(), DeleteEmptyLines(), DDCProcessMemoryStatus::fetch(), MorphoWizard::find_wordforms(), CHitBorders::GetBorderIndicesString(), GetCWBFormattedStringRecursive(), CDDCBranchServer::GetHitContexts(), CDDCBranchServer::GetHitStringsFromOneCorpus(), CStringIndexator::GetIndicesString(), GetInterfacePOS(), GetLogLevel(), GetRmlVariable(), GetStringInnerFromTheFile(), GetTextFromXMLRecursive(), GetValue(), CDictionary::ImportFromText(), CConcIndexator::IndexOneTableTextArea(), CTabFormatIndexator::IndexTabFormat(), CRunQueryData::Init(), CMorphDict::Load(), CConcordance::LoadCorpusFiles(), LoadHosts(), CConcordance::LoadMaskedFiles(), newTermExpander(), NormalizeOborotStr(), ddcStringEnum< OffT_ >::openCompat(), ddcCorpusList< OffT_ >::openCompat(), CTabFormatIndexator::ProcessMetaField(), ReadAbbrevationsFromOneFile(), TRoss::ReadConfig(), ReadFlexiaModels(), CDumpParadigm::ReadFromFile(), CBibliography::ReadFromString(), CHost::ReadFromString(), CHighlightTags::ReadFromString(), CFlexiaModel::ReadFromString(), CGraphanDicts::ReadIdents(), CConcXml::ReadMorphXmlFileIntoGraTable(), MorphoWizard::ReadOnePrefixSet(), CLemmatizer::ReadOptions(), CDwdsThesaurus::ReadPathFromString(), CDDCBranchServer::ReadSelectedHosts(), CSourceFileHolder::ReadSourceFileList(), ReadTabFormatDocumentName(), ReadXmlField(), CFreeBiblStringIndex::RegisterBiblStringItemId(), CHitBorders::RegisterBorderIndices(), CBiblIndex::RegisterFreeBiblAttributes(), CStringIndexator::RegisterIndexAliases(), CStringIndexator::RegisterStringIndices(), CBiblIndex::RegisterTextAreas(), TxLang::setLanguage(), and MorphoWizard::slf_to_mrd().

Here is the call graph for this function:

◆ StartsWith()

bool StartsWith ( const string &  body,
const string &  prefix 
)

◆ isbracket()

int isbracket ( BYTE  x)

References close_brackets, and open_brackets.

Referenced by ClearString(), CGraphmatFile::InitNonContextDescriptors(), and CGraLine::ReadWord().

Here is the caller graph for this function:

◆ dual_bracket()

size_t dual_bracket ( BYTE  x)

References all_brackets, and open_brackets.

Referenced by ClearString(), and CGraphmatFile::DealSentBreaker().

Here is the caller graph for this function:

◆ timestampLocal()

string timestampLocal ( time_t  timeval)

moo: timestamp stuff

Referenced by DDCProcessMemoryStatus::fetch().

Here is the caller graph for this function:

◆ timestampUTC()

string timestampUTC ( time_t  timeval)

◆ stringSplit()

vector<string> stringSplit ( const char *  s,
const char *  delims 
)

◆ stringSplitE() [1/2]

void stringSplitE ( const string &  s,
const string &  delims,
vector< string > &  tokens 
)

moo: split a string using std::string() methods only, allowing empty tokens

  • appends token-strings to argument tokens
  • tokens is not implicitly cleared

Referenced by CQKeys::Compile(), do_start(), DDCProcessMemoryStatus::fetch(), CDDCServerOptions::LoadString(), and stringSplitE().

Here is the caller graph for this function:

◆ stringSplitE() [2/2]

vector<string> stringSplitE ( const string &  s,
const string &  delims 
)

moo: stringSplitE() variant returning token-vector

References stringSplitE().

Here is the call graph for this function:

◆ date2int()

uint32_t date2int ( signed int  y,
unsigned int  m,
unsigned int  d 
)

moo: date-to-int encoding (v2.2.4: use signed years)

Referenced by CBibliography::ConvertDateToInt(), and DDCProcessMemoryStatus::fetch().

Here is the caller graph for this function:

◆ int2date()

void int2date ( uint32_t  i,
signed int *  y,
unsigned int *  m,
unsigned int *  d 
)

moo: int-to-date decoding (v2.2.4: use signed years)

Referenced by CQCountKeyExprDate::Evaluate(), CQCountKeyExprDateSlice::Evaluate(), and DDCProcessMemoryStatus::fetch().

Here is the caller graph for this function:

◆ int2hex()

string int2hex ( int32_t  i)

moo: int-to-hexidecimal string encoding; encoding preserves sort order (for subcorpus->server communications)

Referenced by DDCProcessMemoryStatus::fetch(), CConcSession::GetHitIds(), and CConcSession::GetSortKeyHint().

Here is the caller graph for this function:

◆ hex2int()

int32_t hex2int ( const string &  s)

moo: int-to-hexidecimal string deccoding; ; encoding preserves sort order

Referenced by DDCProcessMemoryStatus::fetch(), CFreeBiblIndex::GetIntegerLowerBound(), and CConcSession::SortKeyLB().

Here is the caller graph for this function:

◆ ddc_loglabel_destroy()

static void ddc_loglabel_destroy ( void *  label)
static

Referenced by ddc_thread_data_alloc().

Here is the caller graph for this function:

◆ ddc_thread_data_alloc()

static void ddc_thread_data_alloc ( void  )
static

References ddc_loglabel_destroy(), and ddc_loglabel_key.

Referenced by ddc_thread_init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ddc_thread_init()

void ddc_thread_init ( const char *  log_label)

register a thread-local log prefix (unix only)

References ddc_loglabel_key, ddc_thread_data_alloc(), and ddc_thread_data_once.

Referenced by do_start(), DDCProcessMemoryStatus::fetch(), ListenerThread(), main(), and CDDCServerThread::run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ddc_log_label()

const char* ddc_log_label ( void  )

get thread-local log prefix, or empty string if none registered

References ddc_loglabel_key.

Referenced by ddc_set_log_label(), ddcLog(), and DDCProcessMemoryStatus::fetch().

Here is the caller graph for this function:

◆ ddc_set_log_label()

const char* ddc_set_log_label ( const char *  log_label)

set thread-local log prefix; returns old label (if any)

References ddc_log_label(), and ddc_loglabel_key.

Referenced by DDCProcessMemoryStatus::fetch().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LoadFileToString()

bool LoadFileToString ( string  FileName,
string &  Result,
bool  clobber 
)

◆ SaveStringToFile()

bool SaveStringToFile ( const string &  Str,
const string &  FileName 
)

References WriteVector().

Referenced by DDCProcessMemoryStatus::fetch(), and CConcIndexator::SplitProject().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_pseudo_graph()

bool is_pseudo_graph ( BYTE  x)

Referenced by ClearString(), and CGraLine::ReadWord().

Here is the caller graph for this function:

◆ wtk()

char wtk ( char  c)

Referenced by WinToKOI8().

Here is the caller graph for this function:

◆ ktw()

char ktw ( char  c)

Referenced by KOI8ToWin().

Here is the caller graph for this function:

◆ WinToKOI8()

void WinToKOI8 ( string &  s)

References wtk().

Referenced by DDCProcessMemoryStatus::fetch().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ KOI8ToWin()

void KOI8ToWin ( string &  s)

References ktw().

Referenced by DDCProcessMemoryStatus::fetch().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ConvertASCIIToHtmlSymbols()

string ConvertASCIIToHtmlSymbols ( const string &  txt)

Referenced by BuildHtmlHitStrWithHighlighting(), GenerateCountString(), and CConcSession::ShowBibliographyForTable().

Here is the caller graph for this function:

◆ MakeDir()

bool MakeDir ( const string &  DirName)

Referenced by FileSize(), MakeDirP(), and mkdirhier().

Here is the caller graph for this function:

◆ MakeDirP()

bool MakeDirP ( const string &  DirName)

References FileDirectory(), Format(), IsDirectory(), MakeDir(), and MakeDirP().

Referenced by FileSize(), MakeDirP(), and CConcIndexator::SplitProject().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RemoveWithPrint()

bool RemoveWithPrint ( const string &  FileName)

References FileExists().

Referenced by CIndexSetForLoadingStage::DeleteTempFiles(), and FileSize().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ HashValue()

size_t HashValue ( const char *  pc)

◆ RmlCopyFile()

bool RmlCopyFile ( const char *  oldpath,
const char *  newpath 
)

Referenced by FileSize(), and RmlMoveFile().

Here is the caller graph for this function:

◆ RmlMoveFile()

bool RmlMoveFile ( const char *  oldpath,
const char *  newpath 
)

References RmlCopyFile().

Referenced by CIndexSetForLoadingStage::AddMemoryLoadIndexToMainLoadIndex(), and FileSize().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BuildRMLPath()

string BuildRMLPath ( const char *  s)

References GetRmlVariable().

Here is the call graph for this function:

Variable Documentation

◆ fWordDelim

const WORD fWordDelim = 1

◆ RusUpper

const WORD RusUpper = 2

◆ RusLower

const WORD RusLower = 4

◆ GerUpper

const WORD GerUpper = 8

◆ GerLower

const WORD GerLower = 16

◆ EngUpper

const WORD EngUpper = 32

◆ EngLower

const WORD EngLower = 64

◆ OpnBrck

const WORD OpnBrck = 128

◆ ClsBrck

const WORD ClsBrck = 256

◆ UpRomDigits

const WORD UpRomDigits = 512

◆ LwRomDigits

const WORD LwRomDigits = 1024

◆ LatinVowel

const WORD LatinVowel = 2048

◆ RussianVowel

const WORD RussianVowel = 4096

◆ URL_CHAR

const WORD URL_CHAR = 8192

Referenced by is_URL_alpha().

◆ ASCII

const WORD ASCII[256]

◆ RML_REGISTRY_FILENAME

const char RML_REGISTRY_FILENAME[] = "rml.ini"

◆ predict_poses_size

const int predict_poses_size = 4

◆ predict_rus_pos

const CPredictPartOfSpeech predict_rus_pos[predict_poses_size]
Initial value:
=
{
"\xd1",
"\xc8\xcd\xd4\xc8\xcd\xc8\xd2\xc8\xc2",
"\xcf",
"\xcd",
}

Referenced by GetPredictionPartOfSpeech().

◆ predict_eng_pos

const CPredictPartOfSpeech predict_eng_pos[predict_poses_size]
Initial value:
=
{
"NOUN",
"VERB",
"ADJECTIVE",
"ADVERB",
}

Referenced by GetPredictionPartOfSpeech().

◆ predict_ger_pos

const CPredictPartOfSpeech predict_ger_pos[predict_poses_size]
Initial value:
=
{
"SUB",
"VER",
"ADJ",
"ADV",
}

Referenced by GetPredictionPartOfSpeech().

◆ Ccedille

const BYTE Ccedille = 199

Referenced by etolower(), and etoupper().

◆ Egravis

const BYTE Egravis = 200

Referenced by etolower(), and etoupper().

◆ Ezirkun

const BYTE Ezirkun = 202

Referenced by etolower(), and etoupper().

◆ Azirkun

const BYTE Azirkun = 194

Referenced by etolower(), and etoupper().

◆ Ozirkun

const BYTE Ozirkun = 212

Referenced by etolower(), and etoupper().

◆ Ntilda

const BYTE Ntilda = 209

Referenced by etolower(), and etoupper().

◆ Eakut

const BYTE Eakut = 201

Referenced by etolower(), and etoupper().

◆ Uzirkun

const BYTE Uzirkun = 219

Referenced by etolower(), and etoupper().

◆ ccedille

const BYTE ccedille = 231

Referenced by etolower(), and etoupper().

◆ egravis

const BYTE egravis = 232

Referenced by etolower(), and etoupper().

◆ ezirkun

const BYTE ezirkun = 234

Referenced by etolower(), and etoupper().

◆ azirkun

const BYTE azirkun = 226

Referenced by etolower(), and etoupper().

◆ ozirkun

const BYTE ozirkun = 244

Referenced by etolower(), and etoupper().

◆ ntilda

const BYTE ntilda = 241

Referenced by etolower(), and etoupper().

◆ eakut

const BYTE eakut = 233

Referenced by etolower(), and etoupper().

◆ uzirkun

const BYTE uzirkun = 251

Referenced by etolower(), and etoupper().

◆ open_brackets

const string open_brackets = "{[(<"

Referenced by dual_bracket(), and isbracket().

◆ close_brackets

const string close_brackets = "}])>"

Referenced by isbracket().

◆ all_brackets

const string all_brackets = open_brackets+close_brackets

Referenced by dual_bracket().

◆ ddc_thread_data_once

pthread_once_t ddc_thread_data_once = PTHREAD_ONCE_INIT
static

Referenced by ddc_thread_init().

◆ ddc_loglabel_key

pthread_key_t ddc_loglabel_key
static

◆ kw

BYTE kw[]
Initial value:
= {128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
254,224,225,246,228,229,244,227,245,232,233,234,235,236,237,238,
239,255,240,241,242,243,230,226,252,251,231,248,253,249,247,250,
222,192,193,214,196,197,212,195,213,200,201,202,203,204,205,206,
207,223,208,209,210,211,198,194,220,219,199,216,221,217,215,218}

◆ wk

BYTE wk[]
Initial value:
= {128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
225,226,247,231,228,229,246,250,233,234,235,236,237,238,239,240,
242,243,244,245,230,232,227,254,251,253,255,249,248,252,224,241,
193,194,215,199,196,197,214,218,201,202,203,204,205,206,207,208,
210,211,212,213,198,200,195,222,219,221,223,217,216,220,192,209}