21 mcx->match[
mcx->num_matches].str = str;
38 int case_sensitive = ((
mcx !=
NULL) ?
mcx->case_sensitive : 0);
44 && (str[
i_str] !=
'/')) {
51 && (str[
i_str] !=
'\0') && (str[
i_str] !=
'/'));
60 return (ptrdiff_t)
i_str;
66 return (str[
i_str] ==
'\0') ? (ptrdiff_t)
i_str : -1;
98 }
while ((
ret == -1) && (
len-- > 0));
113 if (case_sensitive) {
126 return (ptrdiff_t)
i_str;
178 if (
e1->str >
e2->str) {
181 if (
e1->str <
e2->str) {
188#if defined(MG_EXPERIMENTAL_INTERFACES)
209 (size_t)(&
mcx->match[1]) - (size_t)(&
mcx->match[0]);
217 if ((
mcx->match[i - 1].str +
mcx->match[i - 1].len)
218 ==
mcx->match[i].str) {
220 mcx->match[i - 1].len +=
mcx->match[i].len;
223 for (
j = i + 1;
j <
mcx->num_matches;
j++) {
224 mcx->match[
j - 1].len =
mcx->match[
j].len;
225 mcx->match[
j - 1].str =
mcx->match[
j].str;
231 mcx->match[
mcx->num_matches].len = 0;
246 if (pattern ==
NULL) {
256 if (pattern ==
NULL) {
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t UChar_t len
static int lowercase(const char *s)
#define MG_MATCH_CONTEXT_MAX_MATCHES
static ptrdiff_t mg_match_impl(const char *pat, size_t pat_len, const char *str, struct mg_match_context *mcx)
static void match_context_push(const char *str, size_t len, struct mg_match_context *mcx)
static ptrdiff_t match_prefix_strlen(const char *pattern, const char *str)
static void match_context_reset(struct mg_match_context *mcx)
static ptrdiff_t mg_match(const char *pat, const char *str, struct mg_match_context *mcx)
static ptrdiff_t mg_match_alternatives(const char *pat, size_t pat_len, const char *str, struct mg_match_context *mcx)
static ptrdiff_t match_prefix(const char *pattern, size_t pattern_len, const char *str)
static int match_compare(const void *p1, const void *p2, void *user)
static void mg_sort(void *data, size_t elemcount, size_t elemsize, int(*compfunc)(const void *data1, const void *data2, void *userarg), void *userarg)