Branch: refs/heads/master Author: Colomban Wendling ban@herbesfolles.org Committer: Colomban Wendling ban@herbesfolles.org Date: Sun, 07 Feb 2016 03:35:36 UTC Commit: d851935f818994de1380252185a2359e982ea341 https://github.com/geany/geany-plugins/commit/d851935f818994de1380252185a235...
Log Message: ----------- debugger/gdb_mi: Test: allow for lines of arbitrary length
Modified Paths: -------------- debugger/src/gdb_mi.c
Modified: debugger/src/gdb_mi.c 24 lines changed, 21 insertions(+), 3 deletions(-) =================================================================== @@ -482,17 +482,35 @@ static void gdb_mi_record_dump(const struct gdb_mi_record *record) gdb_mi_result_dump(record->first, TRUE, 2); }
-int main(void) +static gchar *read_line(FILE *fp) { char buf[1024] = {0}; + GString *line = g_string_new(NULL);
- while (fgets(buf, sizeof buf, stdin)) + while (fgets(buf, sizeof buf, fp)) { - struct gdb_mi_record *record = gdb_mi_record_parse(buf); + g_string_append(line, buf); + if (line->len < 1 || line->str[line->len - 1] == '\n') + break; + } + + return g_string_free(line, line->len < 1); +} + +int main(int argc, char **argv) +{ + gchar *line; + + while ((line = read_line(stdin)) != NULL) + { + struct gdb_mi_record *record = gdb_mi_record_parse(line);
gdb_mi_record_dump(record); gdb_mi_record_free(record); + + g_free(line); } + return 0; }
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).