Experiment with refactoring the internal sql interface a bit. My
original goal was to modify the schema and thus refactor to a state
where it would be sane to write tests for dc_sqlite_open() (and/or
however it ends up refactored) to assert schame changes before/after.
This stops using the deprecated libc::uint32_t and libc::uint64_t
types in favour of the native u32 and u64 types.
It also uses a newer nightly compiler to get rid of the incorrect
"unused no_mangle" warning when compiling incrementally.
Finally the newer compiler prefers us to be explicit when implementing
traits using the new dyn keyword.
* Add utility to convert OsStr to CString
This is approach seems acceptable in the context of deltachat, it
should work correctly on unix and on Windows requires paths to be
valid utf-8.
* Use failure crate for error types
* Add OsStrExt impl for Path, fix windows and update docs
- Adds an OsStrExt impl for Path directly, a little more convenience.
- Fix the windows code to actually use the right function name. Test
the impl function on unix too since that was the point of having it
implemented in a separate function to begin with.
- Improve the docs, do hyperlinks a bit better.
* Another attempt at learing to type
Having your compiler in the cloud is just painful.
* Do not treat this as a fatal error
When PRs are made from forks the passwords are unavailable. We don't
want CI to fail because of this.
* Implement using the AsRef<OsStr> trait
This means any type with implements this trait will get this
implementation, thus covering both OsStr and Path instead of having
duplicate implementations for those like before.
* fix format
The function does a cast and does not create a new objects. The
stdlib convention is to use to_*() for functions which return new
objects and as_*() for functions which keep referring to the same data
but using a different type. Follow that convention.
* upgrade ci
* fixup
* update ci script
* Update run.sh
* refactor(time): drop libc time functions
* fix(ffi): use i64 instead off time_t
* fix(ci): install croos
* fix: remove unused dc_check_password
* fix(ffi): enable ssl vendoring by default
* chore: remove unused import
* fix(deps): add vendored flag for reqwest
* chore(ci): use cross fork
* fix: handle invalid server configurations
Closes#90
* Disable android from circle ci for now
* chore: update some ci
* feat: no more libiconv
* refactor: updates for updated mmime api
* fixup: correct mmime path
* cleanup
* use newer visual studio
* Update appveyor.yml
* unify libc imports and improve windows situation
* refactor: use rust based sleep
* improve cross platform state of types
* docs: update readme badges
* Start by comparing strings instead of result of strcmp()
* Add failing tests for dc_trim, dc_ltrim and dc_rtrim
* Fix failing tests (use libc:isspace() which counts \r, \n etc)
* Remove FIXME for first dc_simplify_simplify()
* Fix formatting
* Fix tests for dc_param_set()
* Fix remaining FIXMEs in stress.rs
* Don't wrap libc::isspace()
* Wrap unit tests with mod tests
* Fix format