-/* find the span which corresponds to the specified text position */
-struct vi_span *vi_buf_find_span(struct vi_buffer *vb, vi_addr at);
+/* find the span which corresponds to the specified text position
+ * if soffs is not null, the relative offset of the specified address from the
+ * start of the span is stored there.
+ */
+struct vi_span *vi_buf_find_span(struct vi_buffer *vb, vi_addr at, vi_addr *soffs);