Numworks Epsilon  1.4.1
Graphing Calculator Operating System
vstr.c File Reference
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <assert.h>
#include "py/mpconfig.h"
#include "py/runtime.h"
#include "py/mpprint.h"

Go to the source code of this file.

Macros

#define ROUND_ALLOC(a)   (((a) & ((~0U) - 7)) + 8)
 

Functions

void vstr_init (vstr_t *vstr, size_t alloc)
 
void vstr_init_len (vstr_t *vstr, size_t len)
 
void vstr_init_fixed_buf (vstr_t *vstr, size_t alloc, char *buf)
 
void vstr_init_print (vstr_t *vstr, size_t alloc, mp_print_t *print)
 
void vstr_clear (vstr_t *vstr)
 
vstr_tvstr_new (size_t alloc)
 
void vstr_free (vstr_t *vstr)
 
char * vstr_extend (vstr_t *vstr, size_t size)
 
STATIC void vstr_ensure_extra (vstr_t *vstr, size_t size)
 
void vstr_hint_size (vstr_t *vstr, size_t size)
 
char * vstr_add_len (vstr_t *vstr, size_t len)
 
char * vstr_null_terminated_str (vstr_t *vstr)
 
void vstr_add_byte (vstr_t *vstr, byte b)
 
void vstr_add_char (vstr_t *vstr, unichar c)
 
void vstr_add_str (vstr_t *vstr, const char *str)
 
void vstr_add_strn (vstr_t *vstr, const char *str, size_t len)
 
STATIC char * vstr_ins_blank_bytes (vstr_t *vstr, size_t byte_pos, size_t byte_len)
 
void vstr_ins_byte (vstr_t *vstr, size_t byte_pos, byte b)
 
void vstr_ins_char (vstr_t *vstr, size_t char_pos, unichar chr)
 
void vstr_cut_head_bytes (vstr_t *vstr, size_t bytes_to_cut)
 
void vstr_cut_tail_bytes (vstr_t *vstr, size_t len)
 
void vstr_cut_out_bytes (vstr_t *vstr, size_t byte_pos, size_t bytes_to_cut)
 
void vstr_printf (vstr_t *vstr, const char *fmt,...)
 
void vstr_vprintf (vstr_t *vstr, const char *fmt, va_list ap)
 

Macro Definition Documentation

◆ ROUND_ALLOC

#define ROUND_ALLOC (   a)    (((a) & ((~0U) - 7)) + 8)

Definition at line 37 of file vstr.c.

Function Documentation

◆ vstr_add_byte()

void vstr_add_byte ( vstr_t vstr,
byte  b 
)

Definition at line 141 of file vstr.c.

◆ vstr_add_char()

void vstr_add_char ( vstr_t vstr,
unichar  c 
)

Definition at line 146 of file vstr.c.

◆ vstr_add_len()

char* vstr_add_len ( vstr_t vstr,
size_t  len 
)

Definition at line 124 of file vstr.c.

◆ vstr_add_str()

void vstr_add_str ( vstr_t vstr,
const char *  str 
)

Definition at line 175 of file vstr.c.

◆ vstr_add_strn()

void vstr_add_strn ( vstr_t vstr,
const char *  str,
size_t  len 
)

Definition at line 179 of file vstr.c.

◆ vstr_clear()

void vstr_clear ( vstr_t vstr)

Definition at line 70 of file vstr.c.

◆ vstr_cut_head_bytes()

void vstr_cut_head_bytes ( vstr_t vstr,
size_t  bytes_to_cut 
)

Definition at line 212 of file vstr.c.

◆ vstr_cut_out_bytes()

void vstr_cut_out_bytes ( vstr_t vstr,
size_t  byte_pos,
size_t  bytes_to_cut 
)

Definition at line 224 of file vstr.c.

◆ vstr_cut_tail_bytes()

void vstr_cut_tail_bytes ( vstr_t vstr,
size_t  len 
)

Definition at line 216 of file vstr.c.

◆ vstr_ensure_extra()

STATIC void vstr_ensure_extra ( vstr_t vstr,
size_t  size 
)

Definition at line 106 of file vstr.c.

◆ vstr_extend()

char* vstr_extend ( vstr_t vstr,
size_t  size 
)

Definition at line 93 of file vstr.c.

◆ vstr_free()

void vstr_free ( vstr_t vstr)

Definition at line 83 of file vstr.c.

◆ vstr_hint_size()

void vstr_hint_size ( vstr_t vstr,
size_t  size 
)

Definition at line 120 of file vstr.c.

◆ vstr_init()

void vstr_init ( vstr_t vstr,
size_t  alloc 
)

Definition at line 40 of file vstr.c.

◆ vstr_init_fixed_buf()

void vstr_init_fixed_buf ( vstr_t vstr,
size_t  alloc,
char *  buf 
)

Definition at line 57 of file vstr.c.

◆ vstr_init_len()

void vstr_init_len ( vstr_t vstr,
size_t  len 
)

Definition at line 52 of file vstr.c.

◆ vstr_init_print()

void vstr_init_print ( vstr_t vstr,
size_t  alloc,
mp_print_t print 
)

Definition at line 64 of file vstr.c.

◆ vstr_ins_blank_bytes()

STATIC char* vstr_ins_blank_bytes ( vstr_t vstr,
size_t  byte_pos,
size_t  byte_len 
)

Definition at line 185 of file vstr.c.

◆ vstr_ins_byte()

void vstr_ins_byte ( vstr_t vstr,
size_t  byte_pos,
byte  b 
)

Definition at line 201 of file vstr.c.

◆ vstr_ins_char()

void vstr_ins_char ( vstr_t vstr,
size_t  char_pos,
unichar  chr 
)

Definition at line 206 of file vstr.c.

◆ vstr_new()

vstr_t* vstr_new ( size_t  alloc)

Definition at line 77 of file vstr.c.

◆ vstr_null_terminated_str()

char* vstr_null_terminated_str ( vstr_t vstr)

Definition at line 132 of file vstr.c.

◆ vstr_printf()

void vstr_printf ( vstr_t vstr,
const char *  fmt,
  ... 
)

Definition at line 235 of file vstr.c.

◆ vstr_vprintf()

void vstr_vprintf ( vstr_t vstr,
const char *  fmt,
va_list  ap 
)

Definition at line 242 of file vstr.c.