recutils
Data Structures | Macros | Enumerations | Functions | Variables
rec-parser.c File Reference
#include <config.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <gettext.h>
#include <rec.h>
#include <rec-utils.h>

Data Structures

struct  rec_parser_s
 

Macros

#define _(str)   dgettext (PACKAGE, str)
 
#define N_(str)   gettext_noop (str)
 
#define FNAME(id)   rec_std_field_name ((id))
 

Enumerations

enum  rec_parser_error_e {
  REC_PARSER_NOERROR , REC_PARSER_ERROR , REC_PARSER_EUNGETC , REC_PARSER_EFNAME ,
  REC_PARSER_ENOMEM , REC_PARSER_ETOOMUCHNAMEPARTS , REC_PARSER_ECOMMENT , REC_PARSER_EFIELD ,
  REC_PARSER_ERECORD
}
 

Functions

rec_parser_t rec_parser_new (FILE *in, const char *source)
 
rec_parser_t rec_parser_new_str (const char *buffer, const char *source)
 
rec_parser_t rec_parser_new_mem (const char *buffer, size_t size, const char *source)
 
void rec_parser_destroy (rec_parser_t parser)
 
bool rec_parser_eof (rec_parser_t parser)
 
bool rec_parser_error (rec_parser_t parser)
 
void rec_parser_perror (rec_parser_t parser, const char *fmt,...)
 
bool rec_parse_field_name (rec_parser_t parser, char **fname)
 
void rec_parser_reset (rec_parser_t parser)
 
bool rec_parse_field (rec_parser_t parser, rec_field_t *field)
 
bool rec_parse_record (rec_parser_t parser, rec_record_t *record)
 
bool rec_parse_rset (rec_parser_t parser, rec_rset_t *rset)
 
bool rec_parse_db (rec_parser_t parser, rec_db_t *db)
 
char * rec_parse_field_name_str (const char *str)
 
rec_record_t rec_parse_record_str (const char *str)
 
bool rec_parser_seek (rec_parser_t parser, size_t line_number, size_t position)
 
long rec_parser_tell (rec_parser_t parser)
 

Variables

const char * rec_parser_error_strings []
 

Macro Definition Documentation

◆ _

#define _ (   str)    dgettext (PACKAGE, str)

◆ FNAME

#define FNAME (   id)    rec_std_field_name ((id))

◆ N_

#define N_ (   str)    gettext_noop (str)

Enumeration Type Documentation

◆ rec_parser_error_e

Enumerator
REC_PARSER_NOERROR 
REC_PARSER_ERROR 
REC_PARSER_EUNGETC 
REC_PARSER_EFNAME 
REC_PARSER_ENOMEM 
REC_PARSER_ETOOMUCHNAMEPARTS 
REC_PARSER_ECOMMENT 
REC_PARSER_EFIELD 
REC_PARSER_ERECORD 

Function Documentation

◆ rec_parse_db()

bool rec_parse_db ( rec_parser_t  parser,
rec_db_t db 
)

◆ rec_parse_field()

bool rec_parse_field ( rec_parser_t  parser,
rec_field_t field 
)

◆ rec_parse_field_name()

bool rec_parse_field_name ( rec_parser_t  parser,
char **  fname 
)

◆ rec_parse_field_name_str()

char* rec_parse_field_name_str ( const char *  str)

◆ rec_parse_record()

bool rec_parse_record ( rec_parser_t  parser,
rec_record_t record 
)

◆ rec_parse_record_str()

rec_record_t rec_parse_record_str ( const char *  str)

◆ rec_parse_rset()

bool rec_parse_rset ( rec_parser_t  parser,
rec_rset_t rset 
)

◆ rec_parser_destroy()

void rec_parser_destroy ( rec_parser_t  parser)

◆ rec_parser_eof()

bool rec_parser_eof ( rec_parser_t  parser)

◆ rec_parser_error()

bool rec_parser_error ( rec_parser_t  parser)

◆ rec_parser_new()

rec_parser_t rec_parser_new ( FILE *  in,
const char *  source 
)

◆ rec_parser_new_mem()

rec_parser_t rec_parser_new_mem ( const char *  buffer,
size_t  size,
const char *  source 
)

◆ rec_parser_new_str()

rec_parser_t rec_parser_new_str ( const char *  buffer,
const char *  source 
)

◆ rec_parser_perror()

void rec_parser_perror ( rec_parser_t  parser,
const char *  fmt,
  ... 
)

◆ rec_parser_reset()

void rec_parser_reset ( rec_parser_t  parser)

◆ rec_parser_seek()

bool rec_parser_seek ( rec_parser_t  parser,
size_t  line_number,
size_t  position 
)

◆ rec_parser_tell()

long rec_parser_tell ( rec_parser_t  parser)

Variable Documentation

◆ rec_parser_error_strings

const char* rec_parser_error_strings[]
Initial value:
=
{
"no error (unused)",
"unknown error",
"unreading a character",
"expected a field name",
"out of memory",
"too much parts in field name",
"expected a comment",
"expected a field",
"expected a record",
NULL
}