macro.c File Reference

Include dependency graph for macro.c:


Defines

#define EXTRACT(name, l)
#define ALLOC(l)
#define PRINT(str)
#define PRINTS(str, s)

Functions

static int MacroParse (macro_t *m, char *psz_src)
static void MacroClean (macro_t *m)
static int StrToMacroType (const char *name)
static void MacroDo (httpd_file_sys_t *p_args, macro_t *m, char *p_request, int i_request, char **pp_data, int *pi_data, char **pp_dst)
static char * MacroSearch (char *src, char *end, int i_mvlc, bool b_after)
void Execute (httpd_file_sys_t *p_args, char *p_request, int i_request, char **pp_data, int *pi_data, char **pp_dst, char *_src, char *_end)
 This function parses a file for macros.

Define Documentation

#define ALLOC (  ) 

Value:

{               \
        int __i__ = *pp_dst - *pp_data; \
        *pi_data += (l);                  \
        *pp_data = realloc( *pp_data, *pi_data );   \
        *pp_dst = (*pp_data) + __i__;   \
    }

#define EXTRACT ( name,
 ) 

Value:

src += l;    \
        p = strchr( src, '"' );             \
        if( p )                             \
        {                                   \
            *p++ = '\0';                    \
        }                                   \
        m->name = strdup( src );            \
        if( !p )                            \
        {                                   \
            break;                          \
        }                                   \
        src = p;

#define PRINT ( str   ) 

Value:

ALLOC( strlen( str ) + 1 ); \
    *pp_dst += sprintf( *pp_dst, "%s", str );

#define PRINTS ( str,
 ) 

Value:

ALLOC( strlen( str ) + strlen( s ) + 1 ); \
    { \
        char * psz_cur = *pp_dst; \
        *pp_dst += sprintf( *pp_dst, str, s ); \
        while( psz_cur && *psz_cur ) \
        {  \
            /* Prevent script injection */ \
            if( *psz_cur == '<' ) *psz_cur = '*'; \
            if( *psz_cur == '>' ) *psz_cur = '*'; \
            psz_cur++ ; \
        } \
    }


Function Documentation

static void MacroClean ( macro_t m  )  [static]

static void MacroDo ( httpd_file_sys_t p_args,
macro_t m,
char *  p_request,
int  i_request,
char **  pp_data,
int *  pi_data,
char **  pp_dst 
) [static]

static int MacroParse ( macro_t m,
char *  psz_src 
) [static]

static char* MacroSearch ( char *  src,
char *  end,
int  i_mvlc,
bool  b_after 
) [static]

static int StrToMacroType ( const char *  name  )  [static]


Generated on Wed Aug 13 08:03:20 2008 for VLC by  doxygen 1.5.1