7     if((p = malloc(size)) == NULL) {
 
    8         fprintf(stderr, 
"%s: cannot allocate memory\n", tag);
 
   11     return memset(p, 0, size);
 
   14 void *
calloc_chk(
size_t nmemb, 
size_t size, 
const char *tag)
 
   18     if((p = calloc(nmemb, size)) == NULL) {
 
   19         fprintf(stderr, 
"%s: cannot allocate memory\n", tag);
 
   50     for(
int i = strlen(s) - 1; i > 0 && (s[i] == 
'\n' || s[i] == 
'\r' || s[i] == 
' ' || s[i] == 
'\t'); i--) {
 
   59     for(
int i = 0; s[i]; i++) {
 
   61         if(s[i] == 
'\'' && s[i+1] != 
'\'' && (quoting == 
false || s[i-1] != 
'\'')) {
 
   64         } 
else if(quoting == 
false && s[i] == 
';') {
 
   76     for(
int i = 0; i < l-1-i; i++) {
 
char * strndup_chk(const char *s, size_t len, const char *tag)
malloc_chkを実行してメモリを確保し、コピーした文字列の指定した長さの部分を返す
void strip_end(char *s)
文字列の末尾から、改行と空白とタブを削除する
char * strrev(const char *s)
逆にした文字列を返す
char * strdup_chk(const char *s, const char *tag)
malloc_chkを実行してメモリを確保し、コピーした文字列を返す
void * calloc_chk(size_t nmemb, size_t size, const char *tag)
領域の数とサイズを指定してメモリーを確保するcallocを実行する
void strip_casl2_comment(char *s)
文字列から「'」以降の文字列をCASL IIのコメントとして削除する。「''」の場合は除く
void * malloc_chk(size_t size, const char *tag)
mallocを実行し、0で初期化する