Mercurial > vim
comparison src/proto/blob.pro @ 15581:c2382f0d1279 v8.1.0798
patch 8.1.0798: changing a blob while iterating over it works strangely
commit https://github.com/vim/vim/commit/dd29ea18050284526174b5685781469240f5bc4a
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Jan 23 21:56:21 2019 +0100
patch 8.1.0798: changing a blob while iterating over it works strangely
Problem: Changing a blob while iterating over it works strangely.
Solution: Make a copy of the Blob before iterating.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 23 Jan 2019 22:00:06 +0100 |
parents | 435fcefd2c8e |
children | 44ea60ca593b |
comparison
equal
deleted
inserted
replaced
15580:0bf6ce525d42 | 15581:c2382f0d1279 |
---|---|
1 /* blob.c */ | 1 /* blob.c */ |
2 blob_T *blob_alloc(void); | 2 blob_T *blob_alloc(void); |
3 int rettv_blob_alloc(typval_T *rettv); | 3 int rettv_blob_alloc(typval_T *rettv); |
4 void rettv_blob_set(typval_T *rettv, blob_T *b); | 4 void rettv_blob_set(typval_T *rettv, blob_T *b); |
5 int blob_copy(typval_T *from, typval_T *to); | |
5 void blob_free(blob_T *b); | 6 void blob_free(blob_T *b); |
6 void blob_unref(blob_T *b); | 7 void blob_unref(blob_T *b); |
7 long blob_len(blob_T *b); | 8 long blob_len(blob_T *b); |
8 char_u blob_get(blob_T *b, int idx); | 9 char_u blob_get(blob_T *b, int idx); |
9 void blob_set(blob_T *b, int idx, char_u c); | 10 void blob_set(blob_T *b, int idx, char_u c); |