X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-lex-reader.c;h=b34edf97b7ce430432e0f8af3a6755b6a6dc89c5;hb=4bab530fa888321338691db431df5e6316f85540;hp=d8e53c446122b339b17cb61d80daacd24779800d;hpb=5841c349770a82f091e77dfe90fd68eee6032f66;p=pspp diff --git a/src/ui/gui/psppire-lex-reader.c b/src/ui/gui/psppire-lex-reader.c index d8e53c4461..b34edf97b7 100644 --- a/src/ui/gui/psppire-lex-reader.c +++ b/src/ui/gui/psppire-lex-reader.c @@ -54,11 +54,15 @@ lex_gtk_text_buffer_reader_cast (struct lex_reader *r) struct lex_reader * -lex_reader_for_gtk_text_buffer (GtkTextBuffer *buffer, GtkTextIter start, GtkTextIter stop) +lex_reader_for_gtk_text_buffer (GtkTextBuffer *buffer, + GtkTextIter start, GtkTextIter stop, + enum segmenter_mode syntax_mode) { struct lex_gtk_text_buffer_reader *r = xmalloc (sizeof *r); lex_reader_init (&r->reader, &lex_gtk_text_buffer_reader_class); + r->reader.syntax = syntax_mode; + r->reader.line_number = gtk_text_iter_get_line (&start) + 1; r->buffer = buffer; g_object_ref (buffer); @@ -93,7 +97,7 @@ lex_gtk_text_buffer_read (struct lex_reader *r_, char *buf, size_t n, int offset = gtk_text_iter_get_offset (&iter); int end_offset = gtk_text_iter_get_offset (&r->stop); - if ( end_offset - offset < n) + if (end_offset - offset < n) n_chars = end_offset - offset; gtk_text_iter_set_offset (&iter, offset + n_chars); @@ -122,6 +126,7 @@ lex_gtk_text_buffer_close (struct lex_reader *r_) g_object_unref (r->buffer); g_free (r->part); + g_free (r); }