~vcs-imports/gawk/master

« back to all changes in this revision

Viewing changes to eval.c

  • Committer: Arnold D. Robbins
  • Date: 2010-07-16 11:49:57 UTC
  • Revision ID: git-v1:6a2caf2157d87b4b582b2494bdd7d6a688dd0b1f
Tags: gawk-3.1.6
Move to gawk-3.1.6.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
 */
4
4
 
5
5
/* 
6
 
 * Copyright (C) 1986, 1988, 1989, 1991-2005 the Free Software Foundation, Inc.
 
6
 * Copyright (C) 1986, 1988, 1989, 1991-2007 the Free Software Foundation, Inc.
7
7
 * 
8
8
 * This file is part of GAWK, the GNU implementation of the
9
9
 * AWK Programming Language.
10
10
 * 
11
11
 * GAWK is free software; you can redistribute it and/or modify
12
12
 * it under the terms of the GNU General Public License as published by
13
 
 * the Free Software Foundation; either version 2 of the License, or
 
13
 * the Free Software Foundation; either version 3 of the License, or
14
14
 * (at your option) any later version.
15
15
 * 
16
16
 * GAWK is distributed in the hope that it will be useful,
748
748
                         * next. New ones catch it at parse time. Allow it if
749
749
                         * do_traditional is on, and complain if lint.
750
750
                         */
751
 
                        static int warned = FALSE;
 
751
                        static short warned = FALSE;
752
752
 
753
753
                        if (do_lint && ! warned) {
754
754
                                lintwarn(_("`break' outside a loop is not portable"));
769
769
                         * next. New ones catch it at parse time. Allow it if
770
770
                         * do_traditional is on, and complain if lint.
771
771
                         */
772
 
                        static int warned = FALSE;
 
772
                        static short warned = FALSE;
773
773
 
774
774
                        if (do_lint && ! warned) {
775
775
                                lintwarn(_("`continue' outside a loop is not portable"));
1176
1176
                        memcpy(l->stptr + l->stlen, r->stptr, r->stlen);
1177
1177
                        l->stlen += r->stlen;
1178
1178
                        l->stptr[l->stlen] = '\0';
 
1179
                        free_wstr(l);
1179
1180
                } else {
1180
1181
                        char *nval;
1181
1182
                        size_t nlen = l->stlen + r->stlen + 2;
1186
1187
                        unref(*lhs);
1187
1188
                        *lhs = make_str_node(nval, l->stlen + r->stlen, ALREADY_MALLOCED);
1188
1189
                }
 
1190
                (*lhs)->flags &= ~(NUMCUR|NUMBER);
1189
1191
                free_temp(r);
1190
1192
 
1191
1193
                if (after_assign)
2116
2118
void
2117
2119
set_IGNORECASE()
2118
2120
{
2119
 
        static int warned = FALSE;
 
2121
        static short warned = FALSE;
2120
2122
 
2121
2123
        if ((do_lint || do_traditional) && ! warned) {
2122
2124
                warned = TRUE;
2143
2145
void
2144
2146
set_BINMODE()
2145
2147
{
2146
 
        static int warned = FALSE;
 
2148
        static short warned = FALSE;
2147
2149
        char *p, *cp, save;
2148
2150
        NODE *v;
2149
2151
        int digits = FALSE;
2167
2169
                        }
2168
2170
                }
2169
2171
 
2170
 
                if (! digits || (BINMODE_node->var_value->flags & MAYBE_NUM) == 0) {
 
2172
                if (! digits && (BINMODE_node->var_value->flags & MAYBE_NUM) == 0) {
2171
2173
                        BINMODE = 0;
2172
2174
                        if (strcmp(p, "r") == 0)
2173
2175
                                BINMODE = 1;