Alexander Krotov
fb7bbac524
Return Vec from dc_get_chat_contacts
2019-08-13 02:37:18 +03:00
Alexander Krotov
6c95d008e0
Implement From<Vec<u32>> for dc_array_t and use it instead of new()
2019-08-13 01:40:47 +03:00
Alexander Krotov
828e6e3fd0
Merge pull request #320 from link2xt/dc_tools_files
...
dc_tools: rustify interfaces of file-related functions
2019-08-10 23:10:24 +00:00
Alexander Krotov
ff021fed1f
dc_tools: rustify interfaces of file-related functions
2019-08-10 21:15:48 +03:00
Alexander Krotov
b7174783f1
Pass is_html to Simplify.simplify() as bool
2019-08-09 16:57:14 +02:00
Alexander Krotov
e3269616bd
Use bool for Simplify members
2019-08-09 16:57:14 +02:00
Alexander Krotov
64051fca10
Rename dc_simplify_t into Simplify
2019-08-09 16:57:14 +02:00
Alexander Krotov
14ce55b1a8
Remove #[repr(C)] from dc_simplify_t
2019-08-09 16:57:14 +02:00
Alexander Krotov
7c34806125
Remove empty keyhistory module
2019-08-08 13:32:45 +03:00
Alexander Krotov
8c933f8fa8
Return bool from set_self_key()
2019-08-08 12:27:01 +03:00
Alexander Krotov
76dbb37609
Implement dc_get_abs_path_safe
2019-08-08 04:20:12 +03:00
Alexander Krotov
5811248bfc
Merge pull request #289 from KAction/new-assert
...
python: assert that underlying dc_msg_t* for Message is not NULL
2019-08-04 12:58:04 +00:00
Alexander Krotov
c5eef21645
Remove carray use and comment
2019-08-02 13:12:32 +03:00
Alexander Krotov
d64fcece5b
Return Vec instead of carray from dc_split_into_lines
2019-08-02 13:12:25 +03:00
Alexander Krotov
e78b879c9e
Remove unused function dc_simplify_simplify
2019-08-02 09:29:54 +03:00
Alexander Krotov
1145c3533b
Use Vec instead of carray in dc_forward_msgs()
2019-08-02 01:34:15 +03:00
Alexander Krotov
a4f94dbf86
Store dc_mimeparser_t::parts as Vec instead of carray
2019-08-01 23:21:56 +03:00
Alexander Krotov
9e50e77031
Simplify dc_initiate_key_transfer()
2019-07-31 22:06:05 +02:00
Alexander Krotov
164a8fe39a
encode_66bits_as_base64: use base64 crate
2019-07-31 16:25:01 +02:00
Alexander Krotov
0b679f8b95
dc_tools: Make dc_create_id() safe
2019-07-31 16:25:01 +02:00
Alexander Krotov
8267ffb8d2
Replace dc_mimeparser_t::reports carray with Vec
2019-07-31 15:57:05 +03:00
Alexander Krotov
7bc338fc72
Mark get_backoff_time_offset as safe
2019-07-31 15:51:50 +03:00
Alexander Krotov
d6dae0a9e8
Make dc_array_sort_ids() safe and move it into impl
2019-07-31 03:21:13 +03:00
Alexander Krotov
707c8c2830
Make dc_split_armored_data return bool ( #251 )
...
* Make dc_split_armored_data return bool
* Remove double negations
2019-07-30 08:46:36 +02:00
Alexander Krotov
f87c98d6ea
Make cb_set_config() safe
2019-07-30 02:43:50 +03:00
Alexander Krotov
76e76470e0
Replace range loop with foreach loop
2019-07-30 02:34:05 +03:00
Alexander Krotov
ae6c41a019
dc_kml_t: replace Option<dc_array_t> with Option<Vec<dc_location>>
2019-07-30 02:34:05 +03:00
Alexander Krotov
81a84620eb
Store dc_kml_t::locations as Option<dc_array_t> instead of pointer
2019-07-30 02:34:05 +03:00
Alexander Krotov
14e42b48bd
dc_get_locations: use from(Vec<dc_location>) instead of add_location
2019-07-30 02:34:05 +03:00
Alexander Krotov
2688a397aa
Implement From<Vec<dc_location>> for dc_array_t
2019-07-30 02:32:24 +03:00
Alexander Krotov
3ace4fcc2f
Make key::to_asc return String
2019-07-30 02:22:08 +03:00
Alexander Krotov
21b4147d15
sql.rs: make is_file_in_use() safe
2019-07-30 01:15:51 +03:00
Alexander Krotov
03603a48a0
dc_job.rs: add DC_{IMAP,SMTP}_THREAD constants
2019-07-29 20:20:52 +03:00
Alexander Krotov
27342f50b5
Remove unsafe version of dc_timestamp_to_str
2019-07-29 18:45:12 +03:00
Alexander Krotov
2d5b04148f
Make dc_open arguments rusty
2019-07-29 04:05:21 +03:00
Alexander Krotov
dfce34f275
Return bool from is_file_size_okay
2019-07-29 03:14:21 +03:00
Alexander Krotov
3f445a3a6c
Make dc_get_config_t safe
2019-07-28 23:57:28 +03:00
Alexander Krotov
6c818c6123
Make dc_tools::dc_exactly_one_bit_set safe and return bool
2019-07-28 22:40:30 +02:00
Alexander Krotov
3eaab07b0b
top_evil_rs.py: remove comments before counting
...
For example, constants.rs is completely safe now, but has "free()" in the comments.
2019-07-28 22:39:39 +02:00
Alexander
0cffbaf1e9
refactor: rename dc_array_t::as_ptr() into dc_array_t::into_raw()
...
By convention as_* functions do not consume self by taking the reference.
2019-07-28 20:31:57 +02:00
Alexander
0132106c7e
fix(imex): dc_decrypt_setup_file: extend lifetime of CString
...
payload_c binding makes sure the memory is not freed until strdup exits.
See as_ptr documentation:
https://doc.rust-lang.org/std/ffi/struct.CString.html#method.as_ptr
2019-07-28 19:47:52 +02:00
Alexander
5a8b4748b8
fix(msg): correct return value for dc_msg_is_setupmessage
...
It is broken since 8a0fc609e6
where 0i32 was replaced with true instead of false.
2019-07-28 18:33:31 +02:00
Alexander Krotov
3033d8100d
Test dc_create_setup_code() without to_cstring()
2019-07-28 15:05:28 +03:00
Alexander Krotov
0e6b12d7ae
Move to_string out of dc_create_setup_code
2019-07-28 15:05:28 +03:00
Alexander Krotov
21d94b1d09
Remove misplaced comment
2019-07-27 19:28:39 +03:00
Alexander Krotov
ae1cbc9596
dc_array: store locations as Vec<dc_location>
2019-07-27 19:28:39 +03:00
Alexander Krotov
86d047f618
dc_chat: use get_id instead of accessing array fields directly
2019-07-27 19:28:39 +03:00
Alexander Krotov
1cd7cb541c
Rewrite most location array member accessors
2019-07-27 19:28:39 +03:00
Alexander Krotov
f27dda86ff
Move dc_array_search_id into dc_array_t implementation
2019-07-27 19:28:39 +03:00
Alexander Krotov
51319f89e8
Create dc_array_t in dc_get_locations without unsafe
2019-07-27 19:28:39 +03:00
Alexander Krotov
8b4acbb63a
Move dc_array_get_ptr inside dc_array_t implementation
2019-07-27 19:28:39 +03:00
Alexander Krotov
928361429e
Move dc_array_get_{uint,id} inside dc_array_t implementation
2019-07-27 19:28:39 +03:00
Alexander Krotov
c17632188a
Avoid using return in dc_array_get_cnt implementation
2019-07-27 19:28:39 +03:00
Alexander Krotov
ea3c89e913
Move dc_array_unref logic inside dc_array_t implementation
...
This will allow to make dc_array_t members private in the future.
2019-07-27 19:28:39 +03:00
Alexander Krotov
ea84edf13a
Implement dc_array_t::len()
2019-07-27 19:28:39 +03:00
Alexander Krotov
c335348f20
Implement dc_array_t::is_empty()
2019-07-27 19:28:39 +03:00
Alexander Krotov
1e91f6a204
Merge dc_array_free_ptr into dc_array_unref
2019-07-27 19:28:39 +03:00
Alexander Krotov
dfd43cbb97
Rename dc_array_new_typed into dc_array_new_locations
...
dc_array_new_typed is only used internally, so we can change its API.
2019-07-27 19:28:39 +03:00
Alexander Krotov
c7a6b3caae
Remove unnecessary check in dc_array_new_typed
...
Allocating Vec with 0 capacity is correct.
2019-07-27 19:28:39 +03:00
Alexander Krotov
f3eea41914
Reimplement dc_array_new without dc_array_new_typed
2019-07-27 19:28:39 +03:00
Alexander Krotov
8d43ad4809
Construct dc_array_t id arrays using safe methods
2019-07-27 19:28:39 +03:00
Alexander Krotov
1f63753a8b
Simplify dc_array_search_id
2019-07-27 19:28:39 +03:00
Alexander Krotov
e796a4c438
Move dc_array_add_{uint,id} implementations into dc_array_t
2019-07-27 19:28:39 +03:00
Alexander Krotov
85dfd65e48
Simplify dc_array_get_string
2019-07-27 19:28:39 +03:00
Alexander Krotov
a323fe68a6
Simplify dc_array_duplicate
2019-07-27 19:28:39 +03:00
Alexander Krotov
05aca2c529
Make dc_array_new and dc_array_new_typed safe
...
Just like Box::into_raw, these functions are safe,
even though the caller is responsible for the allocated structure.
2019-07-27 19:16:42 +03:00
Alexander Krotov
1dfad65afd
dc_array.rs: remove magic field
...
It was always set to DC_ARRAY_MAGIC, except immediately before freeing the memory.
2019-07-27 19:16:42 +03:00
Alexander Krotov
e15e3a1e84
Use Vec to store dc_array_t data
2019-07-27 18:25:24 +03:00
Alexander Krotov
252697b174
Implement dc_array_t::new() and use Box to allocate dc_array_t
2019-07-27 18:25:24 +03:00
Alexander Krotov
7764ab3ff3
Replace C loop with Rust loop in dc_array_search_id
2019-07-27 18:25:24 +03:00
Alexander Krotov
7585dc49e3
Replace C loop with Rust loop in dc_array_free_ptr
2019-07-27 18:25:24 +03:00
Alexander Krotov
f0ae5fcd7c
Add DC_ARRAY_LOCATIONS constant
2019-07-27 18:25:24 +03:00
Alexander Krotov
7cba2b3f66
Remove unused dc_array_sort_strings
2019-07-27 18:25:23 +03:00
Alexander Krotov
a0594338b2
Remove repr(C) from dc_array_t
...
All members of dc_array_t structure are private, C code does not need to interact with them.
2019-07-27 17:14:09 +03:00
Alexander Krotov
c7ebf6de09
cargo fmt
2019-07-25 23:32:17 +02:00
Alexander Krotov
2f204fd2aa
Simplify dc_simplify_t implementation
...
- Replace dc_simplify_new and dc_simplify_unref with ::new()
- Move dc_simplify_simplify and dc_simplify_simplify_plain_text into impl
2019-07-25 23:32:17 +02:00
Alexander Krotov
9f75a5049e
dc_location: store marker as Option<String> instead of C string
2019-07-25 22:41:33 +02:00
Alexander Krotov
ec6cc5c355
Allocate dc_kml_t in a rusty way
2019-07-25 22:41:33 +02:00
Alexander Krotov
b0ef825e67
Implement dc_location::new() and dc_kml_t::new()
2019-07-25 22:41:33 +02:00
Alexander Krotov
a791f76e4b
Rename _dc_location into dc_location
2019-07-25 22:41:33 +02:00
Alexander Krotov
cb75ac3842
Remove dc_location_t
...
dc_location_t is an incomplete copy of _dc_location
The difference is that it lacks `int independent` field.
As a result, calloc did not allocate memory for this field.
deltachat-core (C version) has only one dc_location_t, that includes the last field.
2019-07-24 09:37:04 +02:00
Alexander Krotov
a5553f98af
dc_location.rs: rewrite is_marker in safe Rust
2019-07-24 09:16:44 +02:00
Alexander Krotov
648d3d78aa
Remove dc_arr_to_string function that was used only once
2019-07-23 10:09:52 +02:00
Alexander Krotov
56f8717a40
Show AutocryptSetupMessage independently of show-emails settings
...
Fixes #161
2019-07-22 00:45:17 +02:00
Alexander Krotov
4a0b2e68c8
Add DC_CMD_* constants
2019-07-22 00:45:17 +02:00
Alexander Krotov
33575e7aa3
dc_get_abs_path cleanup
2019-07-21 23:40:29 +02:00
Alexander Krotov
686678c96c
Spellcheck
2019-07-21 21:40:19 +02:00
Alexander Krotov
c116d6f73f
Use Rust for instead of C while in dc_array test
2019-07-21 21:27:49 +02:00
Alexander Krotov
a7c8ebc089
Replace DC_ARRAY_MAGIC #define with a constant
2019-07-21 21:26:27 +02:00
Alexander Krotov
3dfd623db7
Use constants instead of hardcoded values in dc_mimefactory.rs
2019-07-21 00:37:58 +02:00
Alexander Krotov
30ca377586
src/top_evil_rs.py: fix shebang to always use Python 3 and make it executable
...
PEP-0394 (https://www.python.org/dev/peps/pep-0394/ ) recommends to use more specific shebangs.
For example, Debian allows /usr/bin/python to be configured to python2 via `update-alternatives python`, but the script does not work with Python 2.
2019-07-20 19:43:05 +03:00