X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2FChangeLog;h=ac086a7878bd56ff3017be6b83c485b6e6a9fe5d;hb=255b128bd64df42632d2a509bd9436f0163539d6;hp=8683f041c2187d5b53aa7f3931cf9598e8ab9e63;hpb=618a58ebb4c59dff83374278e44b7375b3865935;p=pspp-builds.git diff --git a/src/data/ChangeLog b/src/data/ChangeLog index 8683f041..ac086a78 100644 --- a/src/data/ChangeLog +++ b/src/data/ChangeLog @@ -1,3 +1,34 @@ +Tue Jul 4 08:47:35 2006 Ben Pfaff + + Fix bug #15766 (/KEEP subcommand on SAVE doesn't fully support + ALL) and additional underlying system file issues. + + Thanks to John Darrington for review. + + First problem: var_hash points to variables not owned by the + sys-file-reader, which the caller may free or modify. Use an + array of sfm_vars instead, as done earlier (e.g. CVS version + 1.12). + + * sys-file-reader.c (struct sfm_reader): Remove var_hash, svars + members and remove all code that references it. Add vars, var_cnt + members. Remove fix_specials member, which was unused. + (struct sfm_var) Remove name member, which was unused. + (sfm_close_reader) Free vars member instead of var_hash. + (compare_var_shortnames) Removed. + (hash_var_shortname) Removed. + (sfm_open_reader) Fill out vars array. + (compare_var_index) Removed. + (sfm_read_case) Use vars instead of var_hash. + + Second problem: we're confused about when we actually have very + long strings, causing us to choose incorrectly between slow path + and fast path in sfm_read_case. + + * sys-file-reader.c: (sfm_open_reader) Only mark has_vls if we + have very long strings, not when we have long variable names, + which is an unrelated feature. + Tue Jun 27 12:06:49 2006 Ben Pfaff * variable.h: Move var_set and variable parsing declarations to