Lines Matching refs:bi

115 static int undo_flush(bufinfo_T *bi);
117 static int undo_read(bufinfo_T *bi, char_u *buffer, size_t size);
118 static int serialize_uep(bufinfo_T *bi, u_entry_T *uep);
119 static u_entry_T *unserialize_uep(bufinfo_T *bi, int *error, char_u *file_name);
120 static void serialize_pos(bufinfo_T *bi, pos_T pos);
121 static void unserialize_pos(bufinfo_T *bi, pos_T *pos);
122 static void serialize_visualinfo(bufinfo_T *bi, visualinfo_T *info);
123 static void unserialize_visualinfo(bufinfo_T *bi, visualinfo_T *info);
928 undo_write(bufinfo_T *bi, char_u *ptr, size_t len) in undo_write() argument
931 if (bi->bi_buffer != NULL) in undo_write()
936 while (bi->bi_used + len_todo >= CRYPT_BUF_SIZE) in undo_write()
938 size_t n = CRYPT_BUF_SIZE - bi->bi_used; in undo_write()
940 mch_memmove(bi->bi_buffer + bi->bi_used, p, n); in undo_write()
943 bi->bi_used = CRYPT_BUF_SIZE; in undo_write()
944 if (undo_flush(bi) == FAIL) in undo_write()
949 mch_memmove(bi->bi_buffer + bi->bi_used, p, len_todo); in undo_write()
950 bi->bi_used += len_todo; in undo_write()
955 if (fwrite(ptr, len, (size_t)1, bi->bi_fp) != 1) in undo_write()
962 undo_flush(bufinfo_T *bi) in undo_flush() argument
964 if (bi->bi_buffer != NULL && bi->bi_state != NULL && bi->bi_used > 0) in undo_flush()
968 crypt_encode_inplace(bi->bi_state, bi->bi_buffer, bi->bi_used, FALSE); in undo_flush()
969 if (fwrite(bi->bi_buffer, bi->bi_used, (size_t)1, bi->bi_fp) != 1) in undo_flush()
971 bi->bi_used = 0; in undo_flush()
982 fwrite_crypt(bufinfo_T *bi, char_u *ptr, size_t len) in fwrite_crypt() argument
989 if (bi->bi_state != NULL && bi->bi_buffer == NULL) in fwrite_crypt()
1002 crypt_encode(bi->bi_state, ptr, len, copy, TRUE); in fwrite_crypt()
1003 i = fwrite(copy, len, (size_t)1, bi->bi_fp); in fwrite_crypt()
1009 return undo_write(bi, ptr, len); in fwrite_crypt()
1018 undo_write_bytes(bufinfo_T *bi, long_u nr, int len) in undo_write_bytes() argument
1026 return undo_write(bi, buf, (size_t)len); in undo_write_bytes()
1034 put_header_ptr(bufinfo_T *bi, u_header_T *uhp) in put_header_ptr() argument
1036 undo_write_bytes(bi, (long_u)(uhp != NULL ? uhp->uh_seq : 0), 4); in put_header_ptr()
1040 undo_read_4c(bufinfo_T *bi) in undo_read_4c() argument
1043 if (bi->bi_buffer != NULL) in undo_read_4c()
1048 undo_read(bi, buf, (size_t)4); in undo_read_4c()
1053 return get4c(bi->bi_fp); in undo_read_4c()
1057 undo_read_2c(bufinfo_T *bi) in undo_read_2c() argument
1060 if (bi->bi_buffer != NULL) in undo_read_2c()
1065 undo_read(bi, buf, (size_t)2); in undo_read_2c()
1070 return get2c(bi->bi_fp); in undo_read_2c()
1074 undo_read_byte(bufinfo_T *bi) in undo_read_byte() argument
1077 if (bi->bi_buffer != NULL) in undo_read_byte()
1081 undo_read(bi, buf, (size_t)1); in undo_read_byte()
1085 return getc(bi->bi_fp); in undo_read_byte()
1089 undo_read_time(bufinfo_T *bi) in undo_read_time() argument
1092 if (bi->bi_buffer != NULL) in undo_read_time()
1098 undo_read(bi, buf, (size_t)8); in undo_read_time()
1104 return get8ctime(bi->bi_fp); in undo_read_time()
1112 undo_read(bufinfo_T *bi, char_u *buffer, size_t size) in undo_read() argument
1117 if (bi->bi_buffer != NULL) in undo_read()
1126 if (bi->bi_used >= bi->bi_avail) in undo_read()
1128 n = fread(bi->bi_buffer, 1, (size_t)CRYPT_BUF_SIZE, bi->bi_fp); in undo_read()
1134 bi->bi_avail = n; in undo_read()
1135 bi->bi_used = 0; in undo_read()
1136 crypt_decode_inplace(bi->bi_state, bi->bi_buffer, bi->bi_avail, FALSE); in undo_read()
1139 if (n > bi->bi_avail - bi->bi_used) in undo_read()
1140 n = bi->bi_avail - bi->bi_used; in undo_read()
1141 mch_memmove(p, bi->bi_buffer + bi->bi_used, n); in undo_read()
1142 bi->bi_used += n; in undo_read()
1149 if (fread(buffer, (size_t)size, 1, bi->bi_fp) != 1) in undo_read()
1167 read_string_decrypt(bufinfo_T *bi, int len) in read_string_decrypt() argument
1173 if (len > 0 && undo_read(bi, ptr, len) == FAIL) in read_string_decrypt()
1182 if (bi->bi_state != NULL && bi->bi_buffer == NULL) in read_string_decrypt()
1183 crypt_decode_inplace(bi->bi_state, ptr, len, FALSE); in read_string_decrypt()
1193 serialize_header(bufinfo_T *bi, char_u *hash) in serialize_header() argument
1196 buf_T *buf = bi->bi_buf; in serialize_header()
1197 FILE *fp = bi->bi_fp; in serialize_header()
1212 undo_write_bytes(bi, (long_u)UF_VERSION_CRYPT, 2); in serialize_header()
1213 bi->bi_state = crypt_create_for_writing(crypt_get_method_nr(buf), in serialize_header()
1215 if (bi->bi_state == NULL) in serialize_header()
1221 crypt_free_state(bi->bi_state); in serialize_header()
1222 bi->bi_state = NULL; in serialize_header()
1228 bi->bi_buffer = alloc(CRYPT_BUF_SIZE); in serialize_header()
1229 if (bi->bi_buffer == NULL) in serialize_header()
1231 crypt_free_state(bi->bi_state); in serialize_header()
1232 bi->bi_state = NULL; in serialize_header()
1235 bi->bi_used = 0; in serialize_header()
1240 undo_write_bytes(bi, (long_u)UF_VERSION, 2); in serialize_header()
1245 if (undo_write(bi, hash, (size_t)UNDO_HASH_SIZE) == FAIL) in serialize_header()
1249 undo_write_bytes(bi, (long_u)buf->b_ml.ml_line_count, 4); in serialize_header()
1252 undo_write_bytes(bi, (long_u)len, 4); in serialize_header()
1253 if (len > 0 && fwrite_crypt(bi, buf->b_u_line_ptr.ul_line, (size_t)len) in serialize_header()
1256 undo_write_bytes(bi, (long_u)buf->b_u_line_lnum, 4); in serialize_header()
1257 undo_write_bytes(bi, (long_u)buf->b_u_line_colnr, 4); in serialize_header()
1260 put_header_ptr(bi, buf->b_u_oldhead); in serialize_header()
1261 put_header_ptr(bi, buf->b_u_newhead); in serialize_header()
1262 put_header_ptr(bi, buf->b_u_curhead); in serialize_header()
1264 undo_write_bytes(bi, (long_u)buf->b_u_numhead, 4); in serialize_header()
1265 undo_write_bytes(bi, (long_u)buf->b_u_seq_last, 4); in serialize_header()
1266 undo_write_bytes(bi, (long_u)buf->b_u_seq_cur, 4); in serialize_header()
1268 undo_write(bi, time_buf, 8); in serialize_header()
1271 undo_write_bytes(bi, 4, 1); in serialize_header()
1272 undo_write_bytes(bi, UF_LAST_SAVE_NR, 1); in serialize_header()
1273 undo_write_bytes(bi, (long_u)buf->b_u_save_nr_last, 4); in serialize_header()
1275 undo_write_bytes(bi, 0, 1); // end marker in serialize_header()
1281 serialize_uhp(bufinfo_T *bi, u_header_T *uhp) in serialize_uhp() argument
1287 if (undo_write_bytes(bi, (long_u)UF_HEADER_MAGIC, 2) == FAIL) in serialize_uhp()
1290 put_header_ptr(bi, uhp->uh_next.ptr); in serialize_uhp()
1291 put_header_ptr(bi, uhp->uh_prev.ptr); in serialize_uhp()
1292 put_header_ptr(bi, uhp->uh_alt_next.ptr); in serialize_uhp()
1293 put_header_ptr(bi, uhp->uh_alt_prev.ptr); in serialize_uhp()
1294 undo_write_bytes(bi, uhp->uh_seq, 4); in serialize_uhp()
1295 serialize_pos(bi, uhp->uh_cursor); in serialize_uhp()
1296 undo_write_bytes(bi, (long_u)uhp->uh_cursor_vcol, 4); in serialize_uhp()
1297 undo_write_bytes(bi, (long_u)uhp->uh_flags, 2); in serialize_uhp()
1300 serialize_pos(bi, uhp->uh_namedm[i]); in serialize_uhp()
1301 serialize_visualinfo(bi, &uhp->uh_visual); in serialize_uhp()
1303 undo_write(bi, time_buf, 8); in serialize_uhp()
1306 undo_write_bytes(bi, 4, 1); in serialize_uhp()
1307 undo_write_bytes(bi, UHP_SAVE_NR, 1); in serialize_uhp()
1308 undo_write_bytes(bi, (long_u)uhp->uh_save_nr, 4); in serialize_uhp()
1310 undo_write_bytes(bi, 0, 1); // end marker in serialize_uhp()
1315 undo_write_bytes(bi, (long_u)UF_ENTRY_MAGIC, 2); in serialize_uhp()
1316 if (serialize_uep(bi, uep) == FAIL) in serialize_uhp()
1319 undo_write_bytes(bi, (long_u)UF_ENTRY_END_MAGIC, 2); in serialize_uhp()
1324 unserialize_uhp(bufinfo_T *bi, char_u *file_name) in unserialize_uhp() argument
1339 uhp->uh_next.seq = undo_read_4c(bi); in unserialize_uhp()
1340 uhp->uh_prev.seq = undo_read_4c(bi); in unserialize_uhp()
1341 uhp->uh_alt_next.seq = undo_read_4c(bi); in unserialize_uhp()
1342 uhp->uh_alt_prev.seq = undo_read_4c(bi); in unserialize_uhp()
1343 uhp->uh_seq = undo_read_4c(bi); in unserialize_uhp()
1350 unserialize_pos(bi, &uhp->uh_cursor); in unserialize_uhp()
1351 uhp->uh_cursor_vcol = undo_read_4c(bi); in unserialize_uhp()
1352 uhp->uh_flags = undo_read_2c(bi); in unserialize_uhp()
1354 unserialize_pos(bi, &uhp->uh_namedm[i]); in unserialize_uhp()
1355 unserialize_visualinfo(bi, &uhp->uh_visual); in unserialize_uhp()
1356 uhp->uh_time = undo_read_time(bi); in unserialize_uhp()
1361 int len = undo_read_byte(bi); in unserialize_uhp()
1372 what = undo_read_byte(bi); in unserialize_uhp()
1376 uhp->uh_save_nr = undo_read_4c(bi); in unserialize_uhp()
1381 (void)undo_read_byte(bi); in unserialize_uhp()
1387 while ((c = undo_read_2c(bi)) == UF_ENTRY_MAGIC) in unserialize_uhp()
1390 uep = unserialize_uep(bi, &error, file_name); in unserialize_uhp()
1417 bufinfo_T *bi, in serialize_uep() argument
1423 undo_write_bytes(bi, (long_u)uep->ue_top, 4); in serialize_uep()
1424 undo_write_bytes(bi, (long_u)uep->ue_bot, 4); in serialize_uep()
1425 undo_write_bytes(bi, (long_u)uep->ue_lcount, 4); in serialize_uep()
1426 undo_write_bytes(bi, (long_u)uep->ue_size, 4); in serialize_uep()
1432 if (undo_write_bytes(bi, (long_u)len, 4) == FAIL) in serialize_uep()
1434 if (len > 0 && fwrite_crypt(bi, uep->ue_array[i].ul_line, len) == FAIL) in serialize_uep()
1441 unserialize_uep(bufinfo_T *bi, int *error, char_u *file_name) in unserialize_uep() argument
1456 uep->ue_top = undo_read_4c(bi); in unserialize_uep()
1457 uep->ue_bot = undo_read_4c(bi); in unserialize_uep()
1458 uep->ue_lcount = undo_read_4c(bi); in unserialize_uep()
1459 uep->ue_size = undo_read_4c(bi); in unserialize_uep()
1475 line_len = undo_read_4c(bi); in unserialize_uep()
1477 line = read_string_decrypt(bi, line_len); in unserialize_uep()
1498 serialize_pos(bufinfo_T *bi, pos_T pos) in serialize_pos() argument
1500 undo_write_bytes(bi, (long_u)pos.lnum, 4); in serialize_pos()
1501 undo_write_bytes(bi, (long_u)pos.col, 4); in serialize_pos()
1502 undo_write_bytes(bi, (long_u)pos.coladd, 4); in serialize_pos()
1509 unserialize_pos(bufinfo_T *bi, pos_T *pos) in unserialize_pos() argument
1511 pos->lnum = undo_read_4c(bi); in unserialize_pos()
1514 pos->col = undo_read_4c(bi); in unserialize_pos()
1517 pos->coladd = undo_read_4c(bi); in unserialize_pos()
1526 serialize_visualinfo(bufinfo_T *bi, visualinfo_T *info) in serialize_visualinfo() argument
1528 serialize_pos(bi, info->vi_start); in serialize_visualinfo()
1529 serialize_pos(bi, info->vi_end); in serialize_visualinfo()
1530 undo_write_bytes(bi, (long_u)info->vi_mode, 4); in serialize_visualinfo()
1531 undo_write_bytes(bi, (long_u)info->vi_curswant, 4); in serialize_visualinfo()
1538 unserialize_visualinfo(bufinfo_T *bi, visualinfo_T *info) in unserialize_visualinfo() argument
1540 unserialize_pos(bi, &info->vi_start); in unserialize_visualinfo()
1541 unserialize_pos(bi, &info->vi_end); in unserialize_visualinfo()
1542 info->vi_mode = undo_read_4c(bi); in unserialize_visualinfo()
1543 info->vi_curswant = undo_read_4c(bi); in unserialize_visualinfo()
1577 bufinfo_T bi; in u_write_undo() local
1579 CLEAR_FIELD(bi); in u_write_undo()
1736 bi.bi_buf = buf; in u_write_undo()
1737 bi.bi_fp = fp; in u_write_undo()
1738 if (serialize_header(&bi, hash) == FAIL) in u_write_undo()
1755 if (serialize_uhp(&bi, uhp) == FAIL) in u_write_undo()
1774 if (undo_write_bytes(&bi, (long_u)UF_HEADER_END_MAGIC, 2) == OK) in u_write_undo()
1785 if (bi.bi_state != NULL && undo_flush(&bi) == FAIL) in u_write_undo()
1819 if (bi.bi_state != NULL) in u_write_undo()
1820 crypt_free_state(bi.bi_state); in u_write_undo()
1821 vim_free(bi.bi_buffer); in u_write_undo()
1864 bufinfo_T bi; in u_read_undo() local
1866 CLEAR_FIELD(bi); in u_read_undo()
1912 bi.bi_buf = curbuf; in u_read_undo()
1913 bi.bi_fp = fp; in u_read_undo()
1934 bi.bi_state = crypt_create_from_file(fp, curbuf->b_p_key); in u_read_undo()
1935 if (bi.bi_state == NULL) in u_read_undo()
1940 if (crypt_whole_undofile(bi.bi_state->method_nr)) in u_read_undo()
1942 bi.bi_buffer = alloc(CRYPT_BUF_SIZE); in u_read_undo()
1943 if (bi.bi_buffer == NULL) in u_read_undo()
1945 crypt_free_state(bi.bi_state); in u_read_undo()
1946 bi.bi_state = NULL; in u_read_undo()
1949 bi.bi_avail = 0; in u_read_undo()
1950 bi.bi_used = 0; in u_read_undo()
1963 if (undo_read(&bi, read_hash, (size_t)UNDO_HASH_SIZE) == FAIL) in u_read_undo()
1968 line_count = (linenr_T)undo_read_4c(&bi); in u_read_undo()
1985 str_len = undo_read_4c(&bi); in u_read_undo()
1990 line_ptr.ul_line = read_string_decrypt(&bi, str_len); in u_read_undo()
1993 line_lnum = (linenr_T)undo_read_4c(&bi); in u_read_undo()
1994 line_colnr = (colnr_T)undo_read_4c(&bi); in u_read_undo()
2002 old_header_seq = undo_read_4c(&bi); in u_read_undo()
2003 new_header_seq = undo_read_4c(&bi); in u_read_undo()
2004 cur_header_seq = undo_read_4c(&bi); in u_read_undo()
2005 num_head = undo_read_4c(&bi); in u_read_undo()
2006 seq_last = undo_read_4c(&bi); in u_read_undo()
2007 seq_cur = undo_read_4c(&bi); in u_read_undo()
2008 seq_time = undo_read_time(&bi); in u_read_undo()
2013 int len = undo_read_byte(&bi); in u_read_undo()
2018 what = undo_read_byte(&bi); in u_read_undo()
2022 last_save_nr = undo_read_4c(&bi); in u_read_undo()
2027 (void)undo_read_byte(&bi); in u_read_undo()
2043 while ((c = undo_read_2c(&bi)) == UF_HEADER_MAGIC) in u_read_undo()
2051 uhp = unserialize_uhp(&bi, file_name); in u_read_undo()
2182 if (bi.bi_state != NULL) in u_read_undo()
2183 crypt_free_state(bi.bi_state); in u_read_undo()
2184 vim_free(bi.bi_buffer); in u_read_undo()