- term++;
- length -= 2;
- }
- else if (first_wc == term && second_wc == 0 && *first_wc == '*'
- && cql_pr_attr(ct, "truncation", "left", 0,
- pr, client_data, 0))
- {
- term++;
- length--;
- }
- else if (first_wc == term + length-1 && second_wc == 0
- && *first_wc == '*'
- && cql_pr_attr(ct, "truncation", "right", 0,
- pr, client_data, 0))
- {
- length--;
- }
- else if (first_wc)
- {
- z3958_mode = 1;
- cql_pr_attr(ct, "truncation", "z3958", 0,
- pr, client_data, YAZ_SRW_MASKING_CHAR_UNSUPP);
+ if (trunc == 3 && !cql_pr_attr(ct, addinfo, "truncation",
+ "both", 0, pr, client_data, 0))
+ {
+ term++;
+ length -= 2;
+ }
+ else if (trunc == 1 && !cql_pr_attr(ct, addinfo, "truncation",
+ "left", 0, pr, client_data, 0))
+ {
+ term++;
+ length--;
+ }
+ else if (trunc == 2 && !cql_pr_attr(ct, addinfo, "truncation",
+ "right", 0, pr, client_data, 0))
+ {
+ length--;
+ }
+ else if (trunc)
+ z3958_mode = 1;
+ else
+ cql_pr_attr(ct, addinfo, "truncation", "none", 0,
+ pr, client_data, 0);