diff --git a/ChangeLog b/ChangeLog index 6c51faea9..4511dfe01 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2003-07-29 Arvind Samptur + + * src/xprops.c (utf8_list_from_results): Number of + strings we are processing is one more than required. + + Also get the string count right even without a null byte at the end. + Pointed out by Havoc. + 2003-07-27 Rob Adams * src/window.c (update_move): Update window shaking loose so that diff --git a/src/xprops.c b/src/xprops.c index 9083054aa..d8859ab03 100644 --- a/src/xprops.c +++ b/src/xprops.c @@ -451,7 +451,7 @@ utf8_list_from_results (GetPropertyResults *results, * property is nul-separated */ i = 0; - n_strings = 1; + n_strings = 0; while (i < (int) results->n_items) { if (results->prop[i] == '\0') @@ -459,6 +459,9 @@ utf8_list_from_results (GetPropertyResults *results, ++i; } + if (results->prop[results->n_items - 1] != '\0') + ++n_strings; + /* we're guaranteed that results->prop has a nul on the end * by XGetWindowProperty */