libavutil/bprint.c File Reference

#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include "bprint.h"
#include "common.h"
#include "error.h"
#include "mem.h"

Go to the source code of this file.

Defines

#define av_bprint_room(buf)   ((buf)->size - FFMIN((buf)->len, (buf)->size))
#define av_bprint_is_allocated(buf)   ((buf)->str != (buf)->reserved_internal_buffer)

Functions

static int av_bprint_alloc (AVBPrint *buf, unsigned room)
static void av_bprint_grow (AVBPrint *buf, unsigned extra_len)
void av_bprint_init (AVBPrint *buf, unsigned size_init, unsigned size_max)
 Init a print buffer.
void av_bprintf (AVBPrint *buf, const char *fmt,...)
void av_bprint_chars (AVBPrint *buf, char c, unsigned n)
 Append char c n times to a print buffer.
void av_bprint_clear (AVBPrint *buf)
 Reset the string to "" but keep internal allocated data.
int av_bprint_finalize (AVBPrint *buf, char **ret_str)
 Finalize a print buffer.


Define Documentation

#define av_bprint_is_allocated ( buf   )     ((buf)->str != (buf)->reserved_internal_buffer)

Definition at line 30 of file bprint.c.

Referenced by av_bprint_alloc(), and av_bprint_finalize().

#define av_bprint_room ( buf   )     ((buf)->size - FFMIN((buf)->len, (buf)->size))

Definition at line 29 of file bprint.c.

Referenced by av_bprint_chars(), and av_bprintf().


Function Documentation

static int av_bprint_alloc ( AVBPrint buf,
unsigned  room 
) [static]

Definition at line 32 of file bprint.c.

Referenced by av_bprint_chars(), av_bprint_init(), and av_bprintf().

void av_bprint_chars ( AVBPrint buf,
char  c,
unsigned  n 
)

Append char c n times to a print buffer.

Definition at line 104 of file bprint.c.

Referenced by avfilter_graph_dump_to_buf(), c_escape_str(), csv_escape_str(), json_escape_str(), and xml_escape_str().

void av_bprint_clear ( AVBPrint buf  ) 

Reset the string to "" but keep internal allocated data.

Definition at line 122 of file bprint.c.

int av_bprint_finalize ( AVBPrint buf,
char **  ret_str 
)

Finalize a print buffer.

The print buffer can no longer be used afterwards, but the len and size fields are still valid.

  • [out] ret_str if not NULL, used to return a permanent copy of the buffer contents, or NULL if memory allocation fails; if NULL, the buffer is discarded and freed
    Returns:
    0 for success or error code (probably AVERROR(ENOMEM))

Definition at line 130 of file bprint.c.

Referenced by avfilter_graph_dump(), compact_print_str(), compact_show_tags(), DEF_CHOOSE_FORMAT(), ffprobe_show_program_version(), jacosub_decode_frame(), jacosub_read_header(), json_print_chapter_header(), json_print_int(), json_print_item_str(), show_frame(), show_packet(), show_stream(), xml_print_str(), and xml_show_tags().

static void av_bprint_grow ( AVBPrint buf,
unsigned  extra_len 
) [static]

Definition at line 56 of file bprint.c.

Referenced by av_bprint_chars(), and av_bprintf().

void av_bprint_init ( AVBPrint buf,
unsigned  size_init,
unsigned  size_max 
)

Init a print buffer.

Parameters:
buf buffer to init
size_init initial size (including the final 0)
size_max maximum size; 0 means do not write anything, just count the length; 1 is replaced by the maximum value for automatic storage

Definition at line 65 of file bprint.c.

Referenced by avfilter_graph_dump(), compact_print_str(), compact_show_tags(), DEF_CHOOSE_FORMAT(), ffprobe_show_program_version(), jacosub_decode_frame(), jacosub_read_header(), json_print_chapter_header(), json_print_int(), json_print_item_str(), show_frame(), show_packet(), show_stream(), xml_print_str(), and xml_show_tags().

void av_bprintf ( AVBPrint buf,
const char *  fmt,
  ... 
)


Generated on Fri Oct 26 02:48:03 2012 for FFmpeg by  doxygen 1.5.8