libcmime  
A lightweight C mime library
Data Structures | Macros | Enumerations | Functions
cmime_string.h File Reference

Defines helper functions and structs for string handling. More...

#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <assert.h>
Include dependency graph for cmime_string.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  CMimeStringList_T
 A simple list with strings. More...
 

Macros

#define cmime_string_list_get_count(sl)   ((int)sl->count)
 

Enumerations

enum  CMimeStringEncodingType_T { CMIME_STRING_ENCODING_B64, CMIME_STRING_ENCODING_QP }
 Possible string encoding types. More...
 

Functions

CMimeStringList_Tcmime_string_list_new (void)
 Creates a new CMimeStringList_T object. More...
 
void cmime_string_list_free (CMimeStringList_T *sl)
 Free a CMimeStringList_t object. More...
 
void cmime_string_list_insert (CMimeStringList_T *sl, const char *s)
 Insert new string into list. More...
 
char * cmime_string_list_get (CMimeStringList_T *sl, int pos)
 Return string at given position. More...
 
char * cmime_string_strip (char *s)
 Strip leading/trailing spaces from string. This function doesn't allocate or reallocate any memory; it modifies string in place. More...
 
char * cmime_string_chomp (char *s)
 remove trailing newline from string This function doesn't allocate or reallocate any memory; it modifies string in place. More...
 
int cmime_string_is_7bit (const char *s)
 Determine if given string is 7bit only or not. More...
 
int cmime_string_is_8bit (const char *s)
 Determine if given string contains 8bit characters. More...
 
char * cmime_string_encode_to_7bit (const char *s, CMimeStringEncodingType_T t)
 Convert given string to 7 bit mime encoded string based on RFC 2047. More...
 

Detailed Description

Defines helper functions and structs for string handling.

Macro Definition Documentation

#define cmime_string_list_get_count (   sl)    ((int)sl->count)
Returns
string list count

Enumeration Type Documentation

Possible string encoding types.

Enumerator
CMIME_STRING_ENCODING_B64 

Base64 encoding

CMIME_STRING_ENCODING_QP 

Quoted-Printable encoding

Function Documentation

char* cmime_string_chomp ( char *  s)

remove trailing newline from string This function doesn't allocate or reallocate any memory; it modifies string in place.

Parameters
sa string
Returns
string with removed newline
char* cmime_string_encode_to_7bit ( const char *  s,
CMimeStringEncodingType_T  t 
)

Convert given string to 7 bit mime encoded string based on RFC 2047.

char

Parameters
sstring to encode
tCMimeStringEncodingType_T encoding
Returns
a newly allocated encoded string
int cmime_string_is_7bit ( const char *  s)

Determine if given string is 7bit only or not.

int cmime_string_is_7bit(const char *s)

Parameters
sstring to check
Returns
0 if string is 7bit, otherwise -1
int cmime_string_is_8bit ( const char *  s)

Determine if given string contains 8bit characters.

int cmime_string_is_8bit(const char *s)

Parameters
sstring to check
Returns
0 if string contains 8bit characters, otherwise -1
void cmime_string_list_free ( CMimeStringList_T sl)

Free a CMimeStringList_t object.

Parameters
slCMimeStringList_T pointer
char* cmime_string_list_get ( CMimeStringList_T sl,
int  pos 
)

Return string at given position.

Parameters
slCMimeStringList_T pointer
posString position in list
Returns
string value
void cmime_string_list_insert ( CMimeStringList_T sl,
const char *  s 
)

Insert new string into list.

Parameters
slCMimeStringList_T pointer
sa string
CMimeStringList_T* cmime_string_list_new ( void  )

Creates a new CMimeStringList_T object.

Returns
CMimeStringList_T pointer, or NULL on failure
char* cmime_string_strip ( char *  s)

Strip leading/trailing spaces from string. This function doesn't allocate or reallocate any memory; it modifies string in place.

Parameters
sstring with spaces
Returns
string with removed spaces
Examples:
parse_mime_message.c.