Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 40782548

Von Moritz Bunkus vor mehr als 17 Jahren hinzugefügt

  • ID 40782548cf82ac1e4c0fe417113a4cb3072e9390
  • Vorgänger 1387c8c3
  • Nachfolger 154fc71c

Eine Funktion zum "sicheren" Aufrufen von Unterfunktionen eingebaut, damit &{ $form->{nextsub} }(); nicht ungeprüft aufgerufen werden muss.

Unterschiede anzeigen:

bin/mozilla/common.pl
97 97

  
98 98
  restore_form($form->{"old_form"});
99 99

  
100
  &{ $callback_sub }($new_id, $new_name);
100
  call_sub($callback_sub, $new_id, $new_name);
101 101

  
102 102
  $lxdebug->leave_sub();
103 103
}
......
167 167

  
168 168
  restore_form($form->{"old_form"});
169 169

  
170
  &{ $callback_sub }($new_item);
170
  call_sub($callback_sub, $new_item);
171 171

  
172 172
  $lxdebug->leave_sub();
173 173
}
......
543 543
	$lxdebug->leave_sub();	
544 544
}
545 545

  
546
sub call_sub {
547
  $lxdebug->enter_sub();
548

  
549
  my $name = shift;
550

  
551
  if (!$name) {
552
    $form->error($locale->text("Trying to call a sub without a name"));
553
  }
554

  
555
  $name =~ s/[^a-zA-Z0-9_]//g;
556

  
557
  if (!defined(&{ $name })) {
558
    $form->error(sprintf($locale->text("Attempt to call an undefined sub named '%s'"), $name));
559
  }
560

  
561
  &{ $name }(@_);
562

  
563
  $lxdebug->leave_sub();
564
}
565

  
546 566
1;

Auch abrufbar als: Unified diff