@verb #84:"hash" this none this rxdo #789 @program #84:"hash" this none this "Scans the requested verb/prop/file and creates a fingerprint for it." "Can be used to verify if the data has been changed." ":hash('#123:verbname') => 'D41D8CD98F00B204E9800998ECF8427E'" ":hash('#123.propname') => '80404D0C6D24E87F650FF7D1985CD762'" ":hash('#123!filename') => '381BCDF5D7F0AE8B10D5AEF7B7884753'" set_task_perms(caller_perms()) {spec} = args punct = min(index(args[1] + ".", "."), index(args[1] + ":", ":"), index(args[1] + "!", "!")) object = toobj(args[1][1..punct - 1]) name = args[1][punct + 1..$] punct = args[1][punct] if (punct == ":") vnum = $code_utils:find_verb_named(object, name) vnum == -1 && raise(E_VERBNF, spec) v_info = verb_info(object, vnum) v_code = verb_code(object, vnum) v_args = verb_args(object, vnum) data = {v_info, v_code, v_args} elseif (punct == ".") p_info = `property_info(object, name) ! E_PROPNF' p_info == E_PROPNF && raise(E_PROPNF, spec) p_data = object.(name) data = {p_info, p_data} elseif (punct == "!") f_access = `object:fileaccess(name) ! "E_FILE"' f_access == "E_FILE" && raise("E_FILE", spec) f_text = object:fileread(name) data = {f_access, f_text} endif return value_hash(data) "Last modified by Lao-Tzu (#8084) on Fri Jun 21 07:38:56 2002 MDT." .