Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#define G_LOG_DOMAIN "TextBuffer"
+
#include "module.h"
#include "misc.h"
#include "formats.h"
{
TEXT_CHUNK_REC *chunk;
const unsigned char *text;
- unsigned char *tmp = NULL;
+ unsigned char cmd, *tmp = NULL;
for (text = line->text;; text++) {
if (*text != '\0')
continue;
text++;
- if (*text == LINE_CMD_CONTINUE || *text == LINE_CMD_EOL) {
- if (*text == LINE_CMD_CONTINUE)
+ cmd = *text;
+ if (cmd == LINE_CMD_CONTINUE || cmd == LINE_CMD_EOL) {
+ if (cmd == LINE_CMD_CONTINUE)
memcpy(&tmp, text+1, sizeof(char *));
/* free the previous block */
text_chunk_destroy(buffer, chunk);
}
- if (*text == LINE_CMD_EOL)
+ if (cmd == LINE_CMD_EOL)
break;
text = tmp-1;
+ } else if (cmd == LINE_CMD_INDENT_FUNC) {
+ text += sizeof(int (*) ());
}
}
}
textbuffer_line_ref(line);
matches = g_list_append(matches, line);
- if (!line_matched && --match_after == 0)
+ if ((!line_matched && --match_after == 0) ||
+ (line_matched && match_after == 0 && before > 0))
matches = g_list_append(matches, NULL);
}
}