add: for (pos = len; pos > 0 && (s[pos-1] == ' ' || s[pos-1] == '\t'); pos--) ; if (pos == last_escape) pos++; slurper.shorten_line(pos);
context: read_psres_line(Slurper &slurper, int *equals_pos){  if (equals_pos) *equals_pos = -1;    char *s = slurper.next_line();  if (!s) return false;    bool is_terminator = s[0] == '.';  unsigned len, pos = 0;  bool found_eq = false;    while (true) {    len = slurper.cur_line_length();    if (len == 0) break;        // process backslash escapes    for (; pos < len - 1; pos++) {      if (s[pos] == '\\') {	// quote the next character	pos++;      } else if (!found_eq && s[pos] == '=') {	// an equals sign: store its position	if (equals_pos) *equals_pos = pos;	found_eq = true;      } else if (s[pos] == '%') {	// unescaped '%' is a comment; return immediately	s[pos] = 0;	goto done;      }    }        // stop processing if not a continuation line    if (pos == len || s[pos] != '\\') break;        s = slurper.append_line(s + pos);  }    if (pos < len && !found_eq && s[pos] == '=' && equals_pos)    *equals_pos = pos;   done:  return !is_terminator;}