MLT 7.30.0
mlt_properties.c File Reference

Properties class definition. More...

#include "mlt_properties.h"
#include "mlt_deque.h"
#include "mlt_factory.h"
#include "mlt_log.h"
#include "mlt_property.h"
#include <ctype.h>
#include <dirent.h>
#include <errno.h>
#include <float.h>
#include <locale.h>
#include <pthread.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>

Data Structures

struct  property_list
 private implementation of the property list More...
struct  strbuf_s
 Private to mlt_properties_s, a self-growing buffer for building strings. More...
struct  yaml_parser_context
 YAML Tiny Parser context structure. More...

Macros

#define _GNU_SOURCE
#define MAX_LOAD_LINE_SIZE   4096
#define STRBUF_GROWTH   (1024)
 How many bytes to grow at a time.

Typedefs

typedef struct strbuf_sstrbuf
typedef struct yaml_parser_contextyaml_parser

Functions

static void fire_property_changed (mlt_properties self, const char *name)
static int has_reserved_char (const char *string)
static int is_valid_expression (mlt_properties self, const char *value)
static int load_properties (mlt_properties self, const char *filename)
static unsigned int ltrim (char **s)
 Remove spaces from the left side of a string.
static unsigned int rtrim (char *s)
 Remove spaces from the right side of a string.
static void strbuf_escape (strbuf output, const char *value, char c)

Detailed Description

Properties class definition.

See also
mlt_properties_s

Copyright (C) 2003-2023 Meltytech, LLC

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Macro Definition Documentation

◆ _GNU_SOURCE

#define _GNU_SOURCE

◆ MAX_LOAD_LINE_SIZE

#define MAX_LOAD_LINE_SIZE   4096

◆ STRBUF_GROWTH

#define STRBUF_GROWTH   (1024)

How many bytes to grow at a time.

Typedef Documentation

◆ strbuf

typedef struct strbuf_s* strbuf

◆ yaml_parser

Function Documentation

◆ fire_property_changed()

void fire_property_changed ( mlt_properties self,
const char * name )
static

◆ has_reserved_char()

int has_reserved_char ( const char * string)
inlinestatic

◆ is_valid_expression()

int is_valid_expression ( mlt_properties self,
const char * value )
static

◆ load_properties()

int load_properties ( mlt_properties self,
const char * filename )
static

◆ ltrim()

unsigned int ltrim ( char ** s)
static

Remove spaces from the left side of a string.

Parameters
sthe string to trim
Returns
the number of characters removed

◆ rtrim()

unsigned int rtrim ( char * s)
static

Remove spaces from the right side of a string.

Parameters
sthe string to trim
Returns
the number of characters removed

◆ strbuf_escape()

void strbuf_escape ( strbuf output,
const char * value,
char c )
static