diff options
| author | 2022-11-21 08:04:22 +0100 | |
|---|---|---|
| committer | 2022-11-21 08:04:22 +0100 | |
| commit | bf214d45e9a9ecdcb4dd5b9b183b2a026512e71b (patch) | |
| tree | 30dc24f711564b489ed39be6892b99deed3ee6e4 | |
| parent | Don't hide messages (and their children) if it's already hidden. (diff) | |
| download | snac2-bf214d45e9a9ecdcb4dd5b9b183b2a026512e71b.tar.gz snac2-bf214d45e9a9ecdcb4dd5b9b183b2a026512e71b.tar.xz snac2-bf214d45e9a9ecdcb4dd5b9b183b2a026512e71b.zip | |
In _timeline_write(), limit the number of grampa levels updated.
| -rw-r--r-- | data.c | 9 |
1 files changed, 9 insertions, 0 deletions
| @@ -517,6 +517,8 @@ int _timeline_write(snac *snac, char *id, char *msg, char *parent, char *referre | |||
| 517 | /* now iterate all parents up, just renaming the files */ | 517 | /* now iterate all parents up, just renaming the files */ |
| 518 | xs *grampa = xs_dup(xs_dict_get(meta, "parent")); | 518 | xs *grampa = xs_dup(xs_dict_get(meta, "parent")); |
| 519 | 519 | ||
| 520 | int max_levels = 10; | ||
| 521 | |||
| 520 | while (!xs_is_null(grampa)) { | 522 | while (!xs_is_null(grampa)) { |
| 521 | xs *gofn = _timeline_find_fn(snac, grampa); | 523 | xs *gofn = _timeline_find_fn(snac, grampa); |
| 522 | 524 | ||
| @@ -555,6 +557,13 @@ int _timeline_write(snac *snac, char *id, char *msg, char *parent, char *referre | |||
| 555 | xs_free(grampa); | 557 | xs_free(grampa); |
| 556 | grampa = xs_dup(p); | 558 | grampa = xs_dup(p); |
| 557 | } | 559 | } |
| 560 | else | ||
| 561 | break; | ||
| 562 | |||
| 563 | if (--max_levels == 0) { | ||
| 564 | snac_log(snac, xs_dup("_timeline_write maximum grampa levels reached")); | ||
| 565 | break; | ||
| 566 | } | ||
| 558 | } | 567 | } |
| 559 | } | 568 | } |
| 560 | 569 | ||