X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ndmp-src%2Fndml_chan.c;h=55e1e16527bb32455773b8f21ea7459c649c7c48;hb=HEAD;hp=ebfeabc8eef12aba78f283428661ddddbf884f95;hpb=fd48f3e498442f0cbff5f3606c7c403d0566150e;p=debian%2Famanda diff --git a/ndmp-src/ndml_chan.c b/ndmp-src/ndml_chan.c index ebfeabc..55e1e16 100644 --- a/ndmp-src/ndml_chan.c +++ b/ndmp-src/ndml_chan.c @@ -374,6 +374,17 @@ ndmchan_n_avail (struct ndmchan *ch) { return ch->data_size - ch->end_ix; } +int +ndmchan_n_avail_record (struct ndmchan *ch, unsigned long size) { + if (ch->end_ix == ch->beg_ix) + ch->end_ix = ch->beg_ix = 0; + + if (ch->end_ix >= ch->data_size - size) { + ndmchan_compress (ch); + } + return ch->data_size - ch->end_ix; +} + int ndmchan_n_avail_total (struct ndmchan *ch) { if (ch->end_ix == ch->beg_ix)