~vcs-imports/gawk/master

« back to all changes in this revision

Viewing changes to node.c

  • Committer: Arnold D. Robbins
  • Date: 2016-10-23 09:12:50 UTC
  • mto: (408.31.25)
  • mto: This revision was merged to the branch mainline in revision 714.
  • Revision ID: git-v1:3055361c2a022c9ac9ae42ac88c00e3055498a0d
Remove trailing whitespace everywhere. Fix Unicode into ASCII.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 * node.c -- routines for node management
3
3
 */
4
4
 
5
 
/* 
 
5
/*
6
6
 * Copyright (C) 1986, 1988, 1989, 1991-2001, 2003-2015,
7
7
 * the Free Software Foundation, Inc.
8
 
 * 
 
8
 *
9
9
 * This file is part of GAWK, the GNU implementation of the
10
10
 * AWK Programming Language.
11
 
 * 
 
11
 *
12
12
 * GAWK is free software; you can redistribute it and/or modify
13
13
 * it under the terms of the GNU General Public License as published by
14
14
 * the Free Software Foundation; either version 3 of the License, or
15
15
 * (at your option) any later version.
16
 
 * 
 
16
 *
17
17
 * GAWK is distributed in the hope that it will be useful,
18
18
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
19
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20
20
 * GNU General Public License for more details.
21
 
 * 
 
21
 *
22
22
 * You should have received a copy of the GNU General Public License
23
23
 * along with this program; if not, write to the Free Software
24
24
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
173
173
 
174
174
/*
175
175
 * The following lookup table is used as an optimization in force_string;
176
 
 * (more complicated) variations on this theme didn't seem to pay off, but 
 
176
 * (more complicated) variations on this theme didn't seem to pay off, but
177
177
 * systematic testing might be in order at some point.
178
178
 */
179
179
static const char *values[] = {
323
323
                        r->flags |= WSTRCUR;
324
324
                }
325
325
        }
326
 
        
 
326
 
327
327
        return r;
328
328
}
329
329
 
394
394
                memcpy(r->stptr, s, len);
395
395
        }
396
396
        r->stptr[len] = '\0';
397
 
       
 
397
 
398
398
        if ((flags & SCAN) != 0) {      /* scan for escape sequences */
399
399
                const char *pf;
400
400
                char *ptm;
478
478
 *
479
479
 * Parse a C escape sequence.  STRING_PTR points to a variable containing a
480
480
 * pointer to the string to parse.  That pointer is updated past the
481
 
 * characters we use.  The value of the escape sequence is returned. 
 
481
 * characters we use.  The value of the escape sequence is returned.
482
482
 *
483
483
 * A negative value means the sequence \ newline was seen, which is supposed to
484
 
 * be equivalent to nothing at all. 
 
484
 * be equivalent to nothing at all.
485
485
 *
486
486
 * If \ is followed by a null character, we return a negative value and leave
487
 
 * the string pointer pointing at the null character. 
 
487
 * the string pointer pointing at the null character.
488
488
 *
489
489
 * If \ is followed by 000, we return 0 and leave the string pointer after the
490
 
 * zeros.  A value of 0 does not mean end of string.  
 
490
 * zeros.  A value of 0 does not mean end of string.
491
491
 *
492
492
 * POSIX doesn't allow \x.
493
493
 */
981
981
#define BLOCKCHUNK 100
982
982
 
983
983
BLOCK nextfree[BLOCK_MAX] = {
984
 
        { 0, NULL},     /* invalid */   
 
984
        { 0, NULL},     /* invalid */
985
985
        { sizeof(NODE), NULL },
986
986
        { sizeof(BUCKET), NULL },
987
987
};