Diff for /parser3/src/classes/array.C between versions 1.35 and 1.37

version 1.35, 2024/11/04 03:53:25 version 1.37, 2024/11/29 16:09:53
Line 657  static void _remove(Request& r, MethodPa Line 657  static void _remove(Request& r, MethodPa
         array.invalidate();          array.invalidate();
 }  }
   
 static void _pop(Request& r, MethodParams& params) {  static void _pop(Request& r, MethodParams&) {
         ArrayValue& array=GET_SELF(r, VArray).array();          ArrayValue& array=GET_SELF(r, VArray).array();
         Value *result=array.pop();          Value *result=array.pop();
         if(result){          if(result){
Line 691  static void _for(Request& r, MethodParam Line 691  static void _for(Request& r, MethodParam
   
         if(delim_maybe_code){ // delimiter set          if(delim_maybe_code){ // delimiter set
                 bool need_delim=false;                  bool need_delim=false;
                 for(ArrayValue::Iterator i(array); i; i.next()){                  for(ArrayValue::RobustIterator i(array); i; i.next()){
                         if(key_var_name){                          if(key_var_name){
                                 VString* vkey=new VString(*new String(i.key(), String::L_TAINTED));                                  VString* vkey=new VString(*new String(i.key(), String::L_TAINTED));
                                 r.put_element(caller, *key_var_name, vkey);                                  r.put_element(caller, *key_var_name, vkey);
Line 717  static void _for(Request& r, MethodParam Line 717  static void _for(Request& r, MethodParam
                                 break;                                  break;
                 }                  }
         } else {          } else {
                 for(ArrayValue::Iterator i(array); i; i.next()){                  for(ArrayValue::RobustIterator i(array); i; i.next()){
                         if(key_var_name){                          if(key_var_name){
                                 VString* vkey=new VString(*new String(i.key(), String::L_TAINTED));                                  VString* vkey=new VString(*new String(i.key(), String::L_TAINTED));
                                 r.put_element(caller, *key_var_name, vkey);                                  r.put_element(caller, *key_var_name, vkey);
Line 750  static void _foreach(Request& r, MethodP Line 750  static void _foreach(Request& r, MethodP
   
         if(delim_maybe_code){ // delimiter set          if(delim_maybe_code){ // delimiter set
                 bool need_delim=false;                  bool need_delim=false;
                 for(ArrayValue::Iterator i(array); i; i.next()){                  for(ArrayValue::RobustIterator i(array); i; i.next()){
                         if(i.value()){                          if(i.value()){
                                 if(key_var_name){                                  if(key_var_name){
                                         VString* vkey=new VString(*new String(i.key(), String::L_TAINTED));                                          VString* vkey=new VString(*new String(i.key(), String::L_TAINTED));
Line 778  static void _foreach(Request& r, MethodP Line 778  static void _foreach(Request& r, MethodP
                         }                          }
                 }                  }
         } else {          } else {
                 for(ArrayValue::Iterator i(array); i; i.next()){                  for(ArrayValue::RobustIterator i(array); i; i.next()){
                         if(i.value()){                          if(i.value()){
                                 if(key_var_name){                                  if(key_var_name){
                                         VString* vkey=new VString(*new String(i.key(), String::L_TAINTED));                                          VString* vkey=new VString(*new String(i.key(), String::L_TAINTED));
Line 842  static void _sort(Request& r, MethodPara Line 842  static void _sort(Request& r, MethodPara
         int pos=0;          int pos=0;
         bool key_values_are_strings=true;          bool key_values_are_strings=true;
   
         for(ArrayValue::Iterator i(array); i; i.next() ){          for(ArrayValue::RobustIterator i(array); i; i.next() ){
                 if(i.value()){                  if(i.value()){
                         if(key_var)                          if(key_var)
                                 r.put_element(*context, *key_var, new VString(*new String(i.key(), String::L_TAINTED)));                                  r.put_element(*context, *key_var, new VString(*new String(i.key(), String::L_TAINTED)));
Line 1034  static void _select(Request& r, MethodPa Line 1034  static void _select(Request& r, MethodPa
                                 }                                  }
                         }                          }
                 } else {                  } else {
                         for(ArrayValue::Iterator i(source_array); i; i.next() ){                          for(ArrayValue::RobustIterator i(source_array); i; i.next() ){
                                 if(Value *value=i.value()){                                  if(Value *value=i.value()){
                                         if(key_var_name)                                          if(key_var_name)
                                                 r.put_element(caller, *key_var_name, new VString(*new String(i.key(), String::L_TAINTED)));                                                  r.put_element(caller, *key_var_name, new VString(*new String(i.key(), String::L_TAINTED)));

Removed from v.1.35  
changed lines
  Added in v.1.37


E-mail: