- my @args = $self->_record_update_args(%args);
- my $stat = IDZebra::update_record($self->{zh}, @args);
- my $sysno = $args[2]; $stat = -1 * $stat if ($stat > 0);
- return $stat ? $stat : $$sysno;
- if ($stat) { return ($stat); } else { return $$sysno};
+ my $sysno = $args{sysno} ? $args{sysno} : 0;
+ my $match = $args{match} ? $args{match} : "";
+ my $rectype = $args{recordType} ? $args{recordType} : "";
+ my $fname = $args{file} ? $args{file} : "<no file>";
+ my $force = $args{force} ? $args{force} : 0;
+ my $buff =_get_data_buff(%args);
+ if (!$buff) { die ("update_record needs a {data} or a {file}");}
+ my $len = length($buff);
+ my @args = ($rectype, $sysno, $match, $fname, $buff, $len, $force);
+ my @ret = IDZebra::update_record($self->{zh}, @args);
+ return @ret; # ($status, $sysno)