diff options
Diffstat (limited to 'libstorycode/storycode.y')
-rw-r--r-- | libstorycode/storycode.y | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/libstorycode/storycode.y b/libstorycode/storycode.y index 587db4a..f3c2653 100644 --- a/libstorycode/storycode.y +++ b/libstorycode/storycode.y @@ -268,10 +268,18 @@ struct text_run **combine_paras(struct parse_many_paragraphs mp, int **pn_runs) combined_paras = malloc(mp.n_paras * sizeof(struct text_run *)); n_runs = malloc(mp.n_paras * sizeof(int)); for ( i=0; i<mp.n_paras; i++ ) { - for ( int j=0; j<mp.paras[i].n_runs; j++ ) { + if ( mp.paras[i].n_runs > 0 ) { + combined_paras[i] = mp.paras[i].runs; + n_runs[i] = mp.paras[i].n_runs; + } else { + /* Create a single dummy run */ + struct text_run *run; + run = malloc(sizeof(struct text_run)); + run->text = strdup(""); + run->type = TEXT_RUN_NORMAL; + combined_paras[i] = run; + n_runs[i] = 1; } - combined_paras[i] = mp.paras[i].runs; - n_runs[i] = mp.paras[i].n_runs; } *pn_runs = n_runs; |