nds2-client - ClientDeveloper  0.16.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Functions
bash_pattern.c File Reference
#include "bash_pattern.h"
#include <stdlib.h>
#include <string.h>
Include dependency graph for bash_pattern.c:

Classes

struct  bash_pattern_t
 
struct  bash_pattern_string_literal
 
struct  bash_pattern_alternatives
 

Functions

static void bash_pattern_compile1 (bash_pattern_alternatives *container, bash_pattern *head, bash_pattern **next, const char **pattern, int escaped)
 
static void bash_pattern_compile_literal (bash_pattern_alternatives *container, bash_pattern *head, bash_pattern **next, const char **pattern)
 
static bash_patternbash_pattern_new_empty_literal ()
 
static void bash_pattern_fallthrough (bash_pattern *head, bash_pattern *togoto)
 
bash_patternbash_pattern_compile (const char *pattern)
 
static void bash_pattern_free1 (bash_pattern *head, bash_pattern *sentinel)
 
void bash_pattern_free (bash_pattern *head)
 
int bash_pattern_matches (const bash_pattern *head, const char *text)
 
int bash_pattern_is_flat (const bash_pattern *head)
 

Function Documentation

bash_pattern* bash_pattern_compile ( const char *  )

Compile a pattern expression from a string. Return a new compiled pattern, or NULL the expression cannot be compiled.

static void bash_pattern_compile1 ( bash_pattern_alternatives container,
bash_pattern head,
bash_pattern **  next,
const char **  pattern,
int  escaped 
)
static
static void bash_pattern_compile_literal ( bash_pattern_alternatives container,
bash_pattern head,
bash_pattern **  next,
const char **  pattern 
)
static
static void bash_pattern_fallthrough ( bash_pattern head,
bash_pattern togoto 
)
static
void bash_pattern_free ( bash_pattern )

Release memory associated with a compiled pattern.

static void bash_pattern_free1 ( bash_pattern head,
bash_pattern sentinel 
)
static
int bash_pattern_is_flat ( const bash_pattern )

Determine if the compiled pattern is flat, or has no brace alternatives like {FOO,BAR,BAT}. Return 1 if the pattern is flat, or 0 otherwise. A flat pattern expression contains only literals and * and ? wildcards.

int bash_pattern_matches ( const bash_pattern ,
const char *   
)

Return 1 if the text matches the compiled pattern, or 0 otherwise.

static bash_pattern* bash_pattern_new_empty_literal ( )
static