comparison src/eval.c @ 8178:e77efd7a7dad v7.4.1382

commit https://github.com/vim/vim/commit/02e83b438ea7071fdb176dabbaefea319ab2d686 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Feb 21 20:10:26 2016 +0100 patch 7.4.1382 Problem: Can't get the job of a channel. Solution: Add ch_getjob().
author Christian Brabandt <cb@256bit.org>
date Sun, 21 Feb 2016 20:15:04 +0100
parents f2286ff0c102
children 95d59081580f
comparison
equal deleted inserted replaced
8177:0e3185eea369 8178:e77efd7a7dad
499 #ifdef FEAT_FLOAT 499 #ifdef FEAT_FLOAT
500 static void f_ceil(typval_T *argvars, typval_T *rettv); 500 static void f_ceil(typval_T *argvars, typval_T *rettv);
501 #endif 501 #endif
502 #ifdef FEAT_CHANNEL 502 #ifdef FEAT_CHANNEL
503 static void f_ch_close(typval_T *argvars, typval_T *rettv); 503 static void f_ch_close(typval_T *argvars, typval_T *rettv);
504 # ifdef FEAT_JOB
505 static void f_ch_getjob(typval_T *argvars, typval_T *rettv);
506 # endif
504 static void f_ch_log(typval_T *argvars, typval_T *rettv); 507 static void f_ch_log(typval_T *argvars, typval_T *rettv);
505 static void f_ch_logfile(typval_T *argvars, typval_T *rettv); 508 static void f_ch_logfile(typval_T *argvars, typval_T *rettv);
506 static void f_ch_open(typval_T *argvars, typval_T *rettv); 509 static void f_ch_open(typval_T *argvars, typval_T *rettv);
507 static void f_ch_read(typval_T *argvars, typval_T *rettv); 510 static void f_ch_read(typval_T *argvars, typval_T *rettv);
508 static void f_ch_readraw(typval_T *argvars, typval_T *rettv); 511 static void f_ch_readraw(typval_T *argvars, typval_T *rettv);
8184 #ifdef FEAT_FLOAT 8187 #ifdef FEAT_FLOAT
8185 {"ceil", 1, 1, f_ceil}, 8188 {"ceil", 1, 1, f_ceil},
8186 #endif 8189 #endif
8187 #ifdef FEAT_CHANNEL 8190 #ifdef FEAT_CHANNEL
8188 {"ch_close", 1, 1, f_ch_close}, 8191 {"ch_close", 1, 1, f_ch_close},
8192 # ifdef FEAT_JOB
8193 {"ch_getjob", 1, 1, f_ch_getjob},
8194 # endif
8189 {"ch_log", 1, 2, f_ch_log}, 8195 {"ch_log", 1, 2, f_ch_log},
8190 {"ch_logfile", 1, 2, f_ch_logfile}, 8196 {"ch_logfile", 1, 2, f_ch_logfile},
8191 {"ch_open", 1, 2, f_ch_open}, 8197 {"ch_open", 1, 2, f_ch_open},
8192 {"ch_read", 1, 2, f_ch_read}, 8198 {"ch_read", 1, 2, f_ch_read},
8193 {"ch_readraw", 1, 2, f_ch_readraw}, 8199 {"ch_readraw", 1, 2, f_ch_readraw},
10184 10190
10185 if (channel != NULL) 10191 if (channel != NULL)
10186 channel_close(channel); 10192 channel_close(channel);
10187 } 10193 }
10188 10194
10195 # ifdef FEAT_JOB
10196 /*
10197 * "ch_getjob()" function
10198 */
10199 static void
10200 f_ch_getjob(typval_T *argvars, typval_T *rettv)
10201 {
10202 channel_T *channel = get_channel_arg(&argvars[0]);
10203
10204 if (channel != NULL)
10205 {
10206 rettv->v_type = VAR_JOB;
10207 rettv->vval.v_job = channel->ch_job;
10208 if (channel->ch_job != NULL)
10209 ++channel->ch_job->jv_refcount;
10210 }
10211 }
10212 # endif
10213
10189 /* 10214 /*
10190 * "ch_log()" function 10215 * "ch_log()" function
10191 */ 10216 */
10192 static void 10217 static void
10193 f_ch_log(typval_T *argvars, typval_T *rettv UNUSED) 10218 f_ch_log(typval_T *argvars, typval_T *rettv UNUSED)