Ruby  2.1.10p492(2016-04-01revision54464)
Macros | Functions | Variables
newline.c File Reference
#include "transcode_data.h"

Go to the source code of this file.

Macros

#define universal_newline_offsets   0
 
#define crlf_newline_offsets   258
 
#define universal_newline_infos   WORDINDEX2INFO(0)
 
#define universal_newline   WORDINDEX2INFO(1)
 
#define crlf_newline_infos   WORDINDEX2INFO(3)
 
#define crlf_newline   WORDINDEX2INFO(5)
 
#define cr_newline_infos   WORDINDEX2INFO(7)
 
#define cr_newline   WORDINDEX2INFO(9)
 
#define TRANSCODE_TABLE_INFO   newline_byte_array, 516, newline_word_array, 11, ((int)sizeof(unsigned int))
 
#define STATE   (sp[0])
 
#define NORMAL   0
 
#define JUST_AFTER_CR   1
 
#define NEWLINES_MET   (sp[1])
 
#define MET_LF   0x01
 
#define MET_CRLF   0x02
 
#define MET_CR   0x04
 

Functions

static int universal_newline_init (void *statep)
 
static ssize_t fun_so_universal_newline (void *statep, const unsigned char *s, size_t l, unsigned char *o, size_t osize)
 
static ssize_t universal_newline_finish (void *statep, unsigned char *o, size_t osize)
 
void Init_newline (void)
 

Variables

static const unsigned char newline_byte_array [516]
 
static const unsigned int newline_word_array [11]
 
static const rb_transcoder rb_universal_newline
 
static const rb_transcoder rb_crlf_newline
 
static const rb_transcoder rb_cr_newline
 

Macro Definition Documentation

◆ cr_newline

#define cr_newline   WORDINDEX2INFO(9)

◆ cr_newline_infos

#define cr_newline_infos   WORDINDEX2INFO(7)

◆ crlf_newline

#define crlf_newline   WORDINDEX2INFO(5)

◆ crlf_newline_infos

#define crlf_newline_infos   WORDINDEX2INFO(3)

◆ crlf_newline_offsets

#define crlf_newline_offsets   258

◆ JUST_AFTER_CR

#define JUST_AFTER_CR   1

Definition at line 79 of file newline.c.

Referenced by fun_so_universal_newline(), and universal_newline_finish().

◆ MET_CR

#define MET_CR   0x04

Definition at line 85 of file newline.c.

Referenced by fun_so_universal_newline(), and universal_newline_finish().

◆ MET_CRLF

#define MET_CRLF   0x02

Definition at line 84 of file newline.c.

Referenced by fun_so_universal_newline().

◆ MET_LF

#define MET_LF   0x01

Definition at line 83 of file newline.c.

Referenced by fun_so_universal_newline().

◆ NEWLINES_MET

#define NEWLINES_MET   (sp[1])

◆ NORMAL

#define NORMAL   0

◆ STATE

#define STATE   (sp[0])

◆ TRANSCODE_TABLE_INFO

#define TRANSCODE_TABLE_INFO   newline_byte_array, 516, newline_word_array, 11, ((int)sizeof(unsigned int))

Definition at line 74 of file newline.c.

◆ universal_newline

#define universal_newline   WORDINDEX2INFO(1)

◆ universal_newline_infos

#define universal_newline_infos   WORDINDEX2INFO(0)

◆ universal_newline_offsets

#define universal_newline_offsets   0

Function Documentation

◆ fun_so_universal_newline()

static ssize_t fun_so_universal_newline ( void *  statep,
const unsigned char *  s,
size_t  l,
unsigned char *  o,
size_t  osize 
)
static

Definition at line 97 of file newline.c.

References JUST_AFTER_CR, MET_CR, MET_CRLF, MET_LF, NEWLINES_MET, NORMAL, and STATE.

◆ Init_newline()

void Init_newline ( void  )

Definition at line 183 of file newline.c.

References rb_cr_newline, rb_crlf_newline, rb_register_transcoder(), and rb_universal_newline.

Referenced by Init_transcode().

◆ universal_newline_finish()

static ssize_t universal_newline_finish ( void *  statep,
unsigned char *  o,
size_t  osize 
)
static

Definition at line 132 of file newline.c.

References JUST_AFTER_CR, MET_CR, NEWLINES_MET, NORMAL, and STATE.

◆ universal_newline_init()

static int universal_newline_init ( void *  statep)
static

Definition at line 88 of file newline.c.

References NEWLINES_MET, NORMAL, and STATE.

Variable Documentation

◆ newline_byte_array

const unsigned char newline_byte_array[516]
static

Definition at line 10 of file newline.c.

◆ newline_word_array

const unsigned int newline_word_array[11]
static
Initial value:
= {
#define universal_newline_infos
#define universal_newline
#define crlf_newline_infos
NOMAP, o2(0x0d,0x0a),
#define crlf_newline
#define cr_newline_infos
NOMAP, o1(0x0d),
#define cr_newline
}
#define o2(b1, b2)
#define NOMAP
#define universal_newline_infos
#define cr_newline_infos
#define crlf_newline_infos
#define crlf_newline_offsets
#define FUNso
#define o1(b1)
#define universal_newline_offsets

Definition at line 51 of file newline.c.

◆ rb_cr_newline

const rb_transcoder rb_cr_newline
static
Initial value:
= {
"", "cr_newline", cr_newline,
1,
1,
1,
0, NULL, NULL,
}
#define TRANSCODE_TABLE_INFO
Definition: newline.c:74
#define cr_newline
#define NULL
Definition: _sdbm.c:102

Definition at line 171 of file newline.c.

Referenced by Init_newline().

◆ rb_crlf_newline

const rb_transcoder rb_crlf_newline
static
Initial value:
= {
"", "crlf_newline", crlf_newline,
1,
1,
2,
0, NULL, NULL,
}
#define TRANSCODE_TABLE_INFO
Definition: newline.c:74
#define crlf_newline
#define NULL
Definition: _sdbm.c:102

Definition at line 159 of file newline.c.

Referenced by Init_newline().

◆ rb_universal_newline

const rb_transcoder rb_universal_newline
static
Initial value:
= {
"", "universal_newline", universal_newline,
1,
1,
2,
}
#define universal_newline
static int universal_newline_init(void *statep)
Definition: newline.c:88
static ssize_t universal_newline_finish(void *statep, unsigned char *o, size_t osize)
Definition: newline.c:132
static ssize_t fun_so_universal_newline(void *statep, const unsigned char *s, size_t l, unsigned char *o, size_t osize)
Definition: newline.c:97
#define TRANSCODE_TABLE_INFO
Definition: newline.c:74
#define NULL
Definition: _sdbm.c:102

Definition at line 146 of file newline.c.

Referenced by Init_newline().