update_records (KirbyBase::KBEngine)

    # File lib/kirbybase.rb, line 1154
        def update_records(table, recs)
            with_write_locked_table(table) do |fptr|
                recs.each do |rec|
                    line = rec[:rec].join('|')

                    # This doesn't actually 'delete' the line, it just

                    # makes it all spaces.  That way, if the updated

                    # record is the same or less length than the old

                    # record, we can write the record back into the

                    # same spot.  If the updated record is greater than

                    # the old record, we will leave the now spaced-out

                    # line and write the updated record at the end of

                    # the file.

                    write_record(table, fptr, rec[:fpos],
                     ' ' * rec[:line_length])
                    if line.length > rec[:line_length]
                        fptr.seek(0, IO::SEEK_END)
                        new_fpos = fptr.tell
                        write_record(table, fptr, 'end', line)
                        incr_del_ctr(table, fptr)

                        update_recno_index(table, rec[:rec].first, new_fpos)
                    else
                        write_record(table, fptr, rec[:fpos], line)
                    end
                    update_to_indexes(table, rec[:rec])
                end
                # Return the number of records updated.

                return recs.size
            end
        end