view asxparser.h @ 8644:0bfd73828e33

This patch fixes so that the exit code (or return code if you like) is set to zero when mplayer exits because of natural EOF or by the quit command. This can be useful if you (like me) use mplayer in scripts. patch by Oskar Liljeblad <oskar@osk.mine.nu>
author arpi
date Sun, 29 Dec 2002 21:06:20 +0000
parents 1f6ae3d15f19
children 75327b24e06f
line wrap: on
line source



typedef struct _ASX_Parser_t ASX_Parser_t;

typedef struct {
  char* buffer;
  int line;
} ASX_LineSave_t;

struct _ASX_Parser_t {
  int line; // Curent line
  ASX_LineSave_t *ret_stack;
  int ret_stack_size;
  char* last_body;
  int deep;
};
  
ASX_Parser_t*
asx_parser_new(void);

void
asx_parser_free(ASX_Parser_t* parser);

/*
 * Return -1 on error, 0 when nothing is found, 1 on sucess
 */
int
asx_get_element(ASX_Parser_t* parser,char** _buffer,
		char** _element,char** _body,char*** _attribs);

int
asx_parse_attribs(ASX_Parser_t* parser,char* buffer,char*** _attribs);

/////// Attribs utils

char*
asx_get_attrib(char* attrib,char** attribs);

int
asx_attrib_to_enum(char* val,char** valid_vals);

#define asx_free_attribs(a) asx_list_free((void***)&a,free)

////// List utils

typedef void (*ASX_FreeFunc)(void* arg);

void
asx_list_free(void* list_ptr,ASX_FreeFunc free_func);