| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add an implementation of the SHA1 hash algorithm based on a public
domain project by Steve Reid <sreid@sea-to-sky.net>. You can get the
original sources from:
ftp://ftp.funet.fi/pub/crypt/hash/sha/sha1.c
We will need this for several things. File names of note files will be
generated based on a hash their content instead of using a random name.
Items can be uniquely identified using a hash.
In addition to the regular sha1_init(), sha1_update() and sha1_final()
operations, our implementation also contains wrappers for hashing a
string or a stream.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
|
|
|
|
|
|
|
|
| |
* Add new note_edit() and note_view() helper functions. Use these
instead of copy-pasted code in *_note_edit().
* Move all note-related functions (note_edit(), note_view(),
note_erase()) to a new source file "note.c".
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
|
|
|
|
|
| |
Move getstring() related stuff into a separate file as a first step on
our way to UTF-8 support for line editing helpers.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
|
|
|
|
|
|
|
|
| |
Add utf8_width() and utf8_strwidth() which can be used to calculate the
display width of a single character or a string, respectively. A lookup
table is used to spot double width characters, as well as composing
characters. There currently isn't any code to deal with ambigious
characters.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
|
|
|
|
|
|
| |
We forgot to add those to the "_SOURCES" variable in commit
0eb1da8dd7fa3ae9d95e12df6058fb41a5ec1c11 and
d668963e2056027526374098efe2869a0d389b92. Spotted by `make distcheck`.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As discussed on the mailing lists, the various linked list
implementations we currently use at a dozen of different places in the
calcurse source tree are inconvenient and should be replaced by a single
generic solution.
This is a first approach to introduce such a generic implemetation. It
provides following functions:
* llist_init(): Initialize a list.
* llist_free_inner(): Loop through a list and free all items.
* llist_free(): Free the list itself (but not the individual items).
* llist_first(): Get the first item of a list.
* llist_nth(): Get the nth item of a list.
* llist_next(): Get the successor of a list item.
* llist_find_first(): Find an item using a callback function.
* llist_find_next(): Find the next match using a callback function.
* llist_find_nth(): Find the nth item in a list (using a callback).
* llist_get_data(): Get a pointer to the actual data of a list item.
* llist_add(): Add an item at the end of a list.
* llist_add_sorted(): Add an item to a sorted list (using a comparison
callback function).
* llist_remove(): Remove an item from a list.
Linked lists are stored in "llist_t" structures, list items are to be
stored in "llist_item_t" structs.
All of the llist_*() functions either expect a pointer to a llist_t
structure (in case the function operates on the list itself) or a
pointer to a llist_item_t (llist_*_next() and llist_get_data()).
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
|
|
| |
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
|
|
| |
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
memory usage
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
link to lpthread added
|
|
|