Diff for /embedaddon/dhcp/common/tree.c between versions 1.1 and 1.1.1.1

version 1.1, 2012/02/21 22:30:18 version 1.1.1.1, 2012/10/09 09:06:54
Line 3 Line 3
    Routines for manipulating parse trees... */     Routines for manipulating parse trees... */
   
 /*  /*
 * Copyright (c) 2011 by Internet Systems Consortium, Inc. ("ISC") * Copyright (c) 2011-2012 by Internet Systems Consortium, Inc. ("ISC")
  * Copyright (c) 2004-2007,2009 by Internet Systems Consortium, Inc. ("ISC")   * Copyright (c) 2004-2007,2009 by Internet Systems Consortium, Inc. ("ISC")
  * Copyright (c) 1995-2003 by Internet Software Consortium   * Copyright (c) 1995-2003 by Internet Software Consortium
  *   *
Line 2379  int evaluate_numeric_expression (result, packet, lease Line 2379  int evaluate_numeric_expression (result, packet, lease
         struct binding *binding;          struct binding *binding;
         struct binding_value *bv;          struct binding_value *bv;
         unsigned long ileft, iright;          unsigned long ileft, iright;
           int rc = 0;
   
         switch (expr -> op) {          switch (expr -> op) {
               case expr_check:                case expr_check:
Line 2446  int evaluate_numeric_expression (result, packet, lease Line 2447  int evaluate_numeric_expression (result, packet, lease
                 status = (evaluate_data_expression                  status = (evaluate_data_expression
                           (&data, packet, lease, client_state, in_options,                            (&data, packet, lease, client_state, in_options,
                            cfg_options, scope, expr -> data.extract_int, MDL));                             cfg_options, scope, expr -> data.extract_int, MDL));
                if (status && data.len >= 2)                if (status && data.len >= 2) {
                         *result = getUShort (data.data);                          *result = getUShort (data.data);
                           rc = 1;
                   }
 #if defined (DEBUG_EXPRESSIONS)  #if defined (DEBUG_EXPRESSIONS)
                log_debug ("num: extract_int16 (%s) = %ld",                if (rc == 1) {
                      ((status && data.len >= 2) ?                        log_debug ("num: extract_int16 (%s) = %ld",
                       print_hex_1 (data.len, data.data, 60) : "NULL"),                                   print_hex_1(data.len, data.data, 60)
                      *result);                                   *result);
                 } else {
                         log_debug ("num: extract_int16 (NULL) = NULL");
                 }
 #endif  #endif
                 if (status) data_string_forget (&data, MDL);                  if (status) data_string_forget (&data, MDL);
                return (status && data.len >= 2);                return (rc);
   
               case expr_extract_int32:                case expr_extract_int32:
                 memset (&data, 0, sizeof data);                  memset (&data, 0, sizeof data);
                 status = (evaluate_data_expression                  status = (evaluate_data_expression
                           (&data, packet, lease, client_state, in_options,                            (&data, packet, lease, client_state, in_options,
                            cfg_options, scope, expr -> data.extract_int, MDL));                             cfg_options, scope, expr -> data.extract_int, MDL));
                if (status && data.len >= 4)                if (status && data.len >= 4) {
                         *result = getULong (data.data);                          *result = getULong (data.data);
                           rc = 1;
                   }
 #if defined (DEBUG_EXPRESSIONS)  #if defined (DEBUG_EXPRESSIONS)
                log_debug ("num: extract_int32 (%s) = %ld",                if (rc == 1) {
                      ((status && data.len >= 4) ?                        log_debug ("num: extract_int32 (%s) = %ld",
                       print_hex_1 (data.len, data.data, 60) : "NULL"),                                   print_hex_1 (data.len, data.data, 60),
                      *result);                                   *result);
                 } else {
                         log_debug ("num: extract_int32 (NULL) = NULL");
                 }
 #endif  #endif
                 if (status) data_string_forget (&data, MDL);                  if (status) data_string_forget (&data, MDL);
                return (status && data.len >= 4);                return (rc);
   
               case expr_const_int:                case expr_const_int:
                 *result = expr -> data.const_int;                  *result = expr -> data.const_int;

Removed from v.1.1  
changed lines
  Added in v.1.1.1.1


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>