Mercurial > vim
comparison src/evalfunc.c @ 34405:5337abbdf88e v9.1.0127
patch 9.1.0127: Naming a non-pointer variable "oap" is strange
Commit: https://github.com/vim/vim/commit/5e3674b42da10b7e7c72d1f20f9a15379af1b60a
Author: zeertzjq <zeertzjq@outlook.com>
Date: Thu Feb 22 19:51:34 2024 +0100
patch 9.1.0127: Naming a non-pointer variable "oap" is strange
Problem: Naming a non-pointer variable "oap" is strange.
Solution: Rename it to "oa". Also prevent using freed memory in case of
memory allocation failure. (zeertzjq)
closes: #14075
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 22 Feb 2024 20:00:07 +0100 |
parents | 940c794b6ba7 |
children | d06ffca91441 |
comparison
equal
deleted
inserted
replaced
34404:1a5657b6c8dd | 34405:5337abbdf88e |
---|---|
5483 */ | 5483 */ |
5484 static void | 5484 static void |
5485 f_getregion(typval_T *argvars, typval_T *rettv) | 5485 f_getregion(typval_T *argvars, typval_T *rettv) |
5486 { | 5486 { |
5487 linenr_T lnum; | 5487 linenr_T lnum; |
5488 oparg_T oap; | 5488 oparg_T oa; |
5489 struct block_def bd; | 5489 struct block_def bd; |
5490 char_u *akt = NULL; | 5490 char_u *akt = NULL; |
5491 int inclusive = TRUE; | 5491 int inclusive = TRUE; |
5492 int fnum = -1; | 5492 int fnum = -1; |
5493 pos_T p1, p2; | 5493 pos_T p1, p2; |
5582 { | 5582 { |
5583 colnr_T sc1, ec1, sc2, ec2; | 5583 colnr_T sc1, ec1, sc2, ec2; |
5584 | 5584 |
5585 getvvcol(curwin, &p1, &sc1, NULL, &ec1); | 5585 getvvcol(curwin, &p1, &sc1, NULL, &ec1); |
5586 getvvcol(curwin, &p2, &sc2, NULL, &ec2); | 5586 getvvcol(curwin, &p2, &sc2, NULL, &ec2); |
5587 oap.motion_type = MBLOCK; | 5587 oa.motion_type = MBLOCK; |
5588 oap.inclusive = TRUE; | 5588 oa.inclusive = TRUE; |
5589 oap.op_type = OP_NOP; | 5589 oa.op_type = OP_NOP; |
5590 oap.start = p1; | 5590 oa.start = p1; |
5591 oap.end = p2; | 5591 oa.end = p2; |
5592 oap.start_vcol = MIN(sc1, sc2); | 5592 oa.start_vcol = MIN(sc1, sc2); |
5593 if (*p_sel == 'e' && ec1 < sc2 && 0 < sc2 && ec2 > ec1) | 5593 if (*p_sel == 'e' && ec1 < sc2 && 0 < sc2 && ec2 > ec1) |
5594 oap.end_vcol = sc2 - 1; | 5594 oa.end_vcol = sc2 - 1; |
5595 else | 5595 else |
5596 oap.end_vcol = MAX(ec1, ec2); | 5596 oa.end_vcol = MAX(ec1, ec2); |
5597 } | 5597 } |
5598 | 5598 |
5599 // Include the trailing byte of a multi-byte char. | 5599 // Include the trailing byte of a multi-byte char. |
5600 l = utfc_ptr2len((char_u *)ml_get_pos(&p2)); | 5600 l = utfc_ptr2len((char_u *)ml_get_pos(&p2)); |
5601 if (l > 1) | 5601 if (l > 1) |
5607 | 5607 |
5608 if (region_type == MLINE) | 5608 if (region_type == MLINE) |
5609 akt = vim_strsave(ml_get(lnum)); | 5609 akt = vim_strsave(ml_get(lnum)); |
5610 else if (region_type == MBLOCK) | 5610 else if (region_type == MBLOCK) |
5611 { | 5611 { |
5612 block_prep(&oap, &bd, lnum, FALSE); | 5612 block_prep(&oa, &bd, lnum, FALSE); |
5613 akt = block_def2str(&bd); | 5613 akt = block_def2str(&bd); |
5614 } | 5614 } |
5615 else if (p1.lnum < lnum && lnum < p2.lnum) | 5615 else if (p1.lnum < lnum && lnum < p2.lnum) |
5616 akt = vim_strsave(ml_get(lnum)); | 5616 akt = vim_strsave(ml_get(lnum)); |
5617 else | 5617 else |
5626 vim_free(akt); | 5626 vim_free(akt); |
5627 } | 5627 } |
5628 | 5628 |
5629 if (akt == NULL || ret == FAIL) | 5629 if (akt == NULL || ret == FAIL) |
5630 { | 5630 { |
5631 list_free(rettv->vval.v_list); | 5631 clear_tv(rettv); |
5632 (void)rettv_list_alloc(rettv); | |
5632 break; | 5633 break; |
5633 } | 5634 } |
5634 } | 5635 } |
5635 | 5636 |
5636 virtual_op = save_virtual; | 5637 virtual_op = save_virtual; |