@@ -61,6 +61,12 @@ static ch_part_T channel_part_send(channel_T *channel);
61
61
static ch_part_T channel_part_read (channel_T * channel );
62
62
static void free_job_options (jobopt_T * opt );
63
63
64
+ #define FOR_ALL_CHANNELS (ch ) \
65
+ for ((ch) = first_channel; (ch) != NULL; (ch) = (ch)->ch_next)
66
+
67
+ #define FOR_ALL_JOBS (job ) \
68
+ for ((job) = first_job; (job) != NULL; (job) = (job)->jv_next)
69
+
64
70
// Whether a redraw is needed for appending a line to a buffer.
65
71
static int channel_need_redraw = FALSE;
66
72
@@ -476,7 +482,7 @@ free_unused_channels_contents(int copyID, int mask)
476
482
// point.
477
483
++ safe_to_invoke_callback ;
478
484
479
- for (ch = first_channel ; ch != NULL ; ch = ch -> ch_next )
485
+ FOR_ALL_CHANNELS (ch )
480
486
if (!channel_still_useful (ch )
481
487
&& (ch -> ch_copyID & mask ) != (copyID & mask ))
482
488
{
@@ -520,8 +526,7 @@ channel_fd2channel(sock_T fd, ch_part_T *partp)
520
526
ch_part_T part ;
521
527
522
528
if (fd != INVALID_FD )
523
- for (channel = first_channel ; channel != NULL ;
524
- channel = channel -> ch_next )
529
+ FOR_ALL_CHANNELS (channel )
525
530
{
526
531
for (part = PART_SOCK ; part < PART_IN ; ++ part )
527
532
if (channel -> ch_part [part ].ch_fd == fd )
@@ -662,7 +667,7 @@ channel_gui_register_all(void)
662
667
{
663
668
channel_T * channel ;
664
669
665
- for (channel = first_channel ; channel != NULL ; channel = channel -> ch_next )
670
+ FOR_ALL_CHANNELS (channel )
666
671
channel_gui_register (channel );
667
672
}
668
673
@@ -1569,7 +1574,7 @@ channel_buffer_free(buf_T *buf)
1569
1574
channel_T * channel ;
1570
1575
ch_part_T part ;
1571
1576
1572
- for (channel = first_channel ; channel != NULL ; channel = channel -> ch_next )
1577
+ FOR_ALL_CHANNELS (channel )
1573
1578
for (part = PART_SOCK ; part < PART_COUNT ; ++ part )
1574
1579
{
1575
1580
chanpart_T * ch_part = & channel -> ch_part [part ];
@@ -1610,7 +1615,7 @@ channel_write_any_lines(void)
1610
1615
{
1611
1616
channel_T * channel ;
1612
1617
1613
- for (channel = first_channel ; channel != NULL ; channel = channel -> ch_next )
1618
+ FOR_ALL_CHANNELS (channel )
1614
1619
channel_write_input (channel );
1615
1620
}
1616
1621
@@ -1625,7 +1630,7 @@ channel_write_new_lines(buf_T *buf)
1625
1630
1626
1631
// There could be more than one channel for the buffer, loop over all of
1627
1632
// them.
1628
- for (channel = first_channel ; channel != NULL ; channel = channel -> ch_next )
1633
+ FOR_ALL_CHANNELS (channel )
1629
1634
{
1630
1635
chanpart_T * in_part = & channel -> ch_part [PART_IN ];
1631
1636
linenr_T lnum ;
@@ -2604,7 +2609,7 @@ append_to_buffer(buf_T *buffer, char_u *msg, channel_T *channel, ch_part_T part)
2604
2609
// Find channels reading from this buffer and adjust their
2605
2610
// next-to-read line number.
2606
2611
buffer -> b_write_to_channel = TRUE;
2607
- for (ch = first_channel ; ch != NULL ; ch = ch -> ch_next )
2612
+ FOR_ALL_CHANNELS (ch )
2608
2613
{
2609
2614
chanpart_T * in_part = & ch -> ch_part [PART_IN ];
2610
2615
@@ -3180,7 +3185,7 @@ channel_free_all(void)
3180
3185
channel_T * channel ;
3181
3186
3182
3187
ch_log (NULL , "channel_free_all()" );
3183
- for (channel = first_channel ; channel != NULL ; channel = channel -> ch_next )
3188
+ FOR_ALL_CHANNELS (channel )
3184
3189
channel_clear (channel );
3185
3190
}
3186
3191
#endif
@@ -3202,7 +3207,7 @@ channel_fill_wfds(int maxfd_arg, fd_set *wfds)
3202
3207
int maxfd = maxfd_arg ;
3203
3208
channel_T * ch ;
3204
3209
3205
- for (ch = first_channel ; ch != NULL ; ch = ch -> ch_next )
3210
+ FOR_ALL_CHANNELS (ch )
3206
3211
{
3207
3212
chanpart_T * in_part = & ch -> ch_part [PART_IN ];
3208
3213
@@ -3227,7 +3232,7 @@ channel_fill_poll_write(int nfd_in, struct pollfd *fds)
3227
3232
int nfd = nfd_in ;
3228
3233
channel_T * ch ;
3229
3234
3230
- for (ch = first_channel ; ch != NULL ; ch = ch -> ch_next )
3235
+ FOR_ALL_CHANNELS (ch )
3231
3236
{
3232
3237
chanpart_T * in_part = & ch -> ch_part [PART_IN ];
3233
3238
@@ -3821,7 +3826,7 @@ channel_handle_events(int only_keep_open)
3821
3826
ch_part_T part ;
3822
3827
sock_T fd ;
3823
3828
3824
- for (channel = first_channel ; channel != NULL ; channel = channel -> ch_next )
3829
+ FOR_ALL_CHANNELS (channel )
3825
3830
{
3826
3831
if (only_keep_open && !channel -> ch_keep_open )
3827
3832
continue ;
@@ -3854,7 +3859,7 @@ channel_any_keep_open()
3854
3859
{
3855
3860
channel_T * channel ;
3856
3861
3857
- for (channel = first_channel ; channel != NULL ; channel = channel -> ch_next )
3862
+ FOR_ALL_CHANNELS (channel )
3858
3863
if (channel -> ch_keep_open )
3859
3864
return TRUE ;
3860
3865
return FALSE;
@@ -4234,7 +4239,7 @@ channel_poll_setup(int nfd_in, void *fds_in, int *towait)
4234
4239
struct pollfd * fds = fds_in ;
4235
4240
ch_part_T part ;
4236
4241
4237
- for (channel = first_channel ; channel != NULL ; channel = channel -> ch_next )
4242
+ FOR_ALL_CHANNELS (channel )
4238
4243
{
4239
4244
for (part = PART_SOCK ; part < PART_IN ; ++ part )
4240
4245
{
@@ -4281,7 +4286,7 @@ channel_poll_check(int ret_in, void *fds_in)
4281
4286
int idx ;
4282
4287
chanpart_T * in_part ;
4283
4288
4284
- for (channel = first_channel ; channel != NULL ; channel = channel -> ch_next )
4289
+ FOR_ALL_CHANNELS (channel )
4285
4290
{
4286
4291
for (part = PART_SOCK ; part < PART_IN ; ++ part )
4287
4292
{
@@ -4332,7 +4337,7 @@ channel_select_setup(
4332
4337
fd_set * wfds = wfds_in ;
4333
4338
ch_part_T part ;
4334
4339
4335
- for (channel = first_channel ; channel != NULL ; channel = channel -> ch_next )
4340
+ FOR_ALL_CHANNELS (channel )
4336
4341
{
4337
4342
for (part = PART_SOCK ; part < PART_IN ; ++ part )
4338
4343
{
@@ -4381,7 +4386,7 @@ channel_select_check(int ret_in, void *rfds_in, void *wfds_in)
4381
4386
ch_part_T part ;
4382
4387
chanpart_T * in_part ;
4383
4388
4384
- for (channel = first_channel ; channel != NULL ; channel = channel -> ch_next )
4389
+ FOR_ALL_CHANNELS (channel )
4385
4390
{
4386
4391
for (part = PART_SOCK ; part < PART_IN ; ++ part )
4387
4392
{
@@ -5471,7 +5476,7 @@ job_any_running()
5471
5476
{
5472
5477
job_T * job ;
5473
5478
5474
- for (job = first_job ; job != NULL ; job = job -> jv_next )
5479
+ FOR_ALL_JOBS (job )
5475
5480
if (job_still_useful (job ))
5476
5481
{
5477
5482
ch_log (NULL , "GUI not forking because a job is running" );
@@ -5570,7 +5575,7 @@ win32_build_cmd(list_T *l, garray_T *gap)
5570
5575
char_u * s ;
5571
5576
5572
5577
range_list_materialize (l );
5573
- for ( li = l -> lv_first ; li != NULL ; li = li -> li_next )
5578
+ FOR_ALL_LIST_ITEMS ( l , li )
5574
5579
{
5575
5580
s = tv_get_string_chk (& li -> li_tv );
5576
5581
if (s == NULL )
@@ -5695,7 +5700,7 @@ free_unused_jobs_contents(int copyID, int mask)
5695
5700
int did_free = FALSE;
5696
5701
job_T * job ;
5697
5702
5698
- for (job = first_job ; job != NULL ; job = job -> jv_next )
5703
+ FOR_ALL_JOBS (job )
5699
5704
if ((job -> jv_copyID & mask ) != (copyID & mask )
5700
5705
&& !job_still_useful (job ))
5701
5706
{
@@ -5781,7 +5786,7 @@ job_stop_on_exit(void)
5781
5786
{
5782
5787
job_T * job ;
5783
5788
5784
- for (job = first_job ; job != NULL ; job = job -> jv_next )
5789
+ FOR_ALL_JOBS (job )
5785
5790
if (job -> jv_status == JOB_STARTED && job -> jv_stoponexit != NULL)
5786
5791
mch_signal_job (job , job - > jv_stoponexit );
5787
5792
}
@@ -5795,7 +5800,7 @@ has_pending_job(void)
5795
5800
{
5796
5801
job_T * job ;
5797
5802
5798
- for (job = first_job ; job != NULL ; job = job -> jv_next )
5803
+ FOR_ALL_JOBS (job )
5799
5804
// Only should check if the channel has been closed, if the channel is
5800
5805
// open the job won't exit.
5801
5806
if ((job -> jv_status == JOB_STARTED && !job_channel_still_useful (job ))
@@ -6589,7 +6594,7 @@ job_info_all(list_T *l)
6589
6594
job_T * job ;
6590
6595
typval_T tv ;
6591
6596
6592
- for (job = first_job ; job != NULL ; job = job -> jv_next )
6597
+ FOR_ALL_JOBS (job )
6593
6598
{
6594
6599
tv .v_type = VAR_JOB ;
6595
6600
tv .vval .v_job = job ;
0 commit comments