X-Git-Url: https://git.deb.at/w?p=pkg%2Fabook.git;a=blobdiff_plain;f=misc.h;h=fadd0ae072717bf2c31506dfdc0b1fd537f2a284;hp=9b42d2c6ab9e6ad69de06472b8d0e7538fa231d0;hb=f7eaaec4d8ff9698cb11a0d56c41893218550d15;hpb=c5d8ef5198f2bfd02f678b7a709b6538ef83cd44 diff --git a/misc.h b/misc.h index 9b42d2c..fadd0ae 100644 --- a/misc.h +++ b/misc.h @@ -1,13 +1,25 @@ #ifndef _MISC_H #define _MISC_H +typedef struct abook_list_t { + char *data; + struct abook_list_t *next; +} abook_list; + +enum rotate_dir { + ROTATE_LEFT, + ROTATE_RIGHT +}; + char *revstr(char *str); char *strupper(char *str); char *strlower(char *str); char *strtrim(char *); -char *mkstr (const char *format, ... ); -char *strconcat (const char *str, ...); +int is_number(char *s); + +char *strdup_printf(const char *format, ... ); +char *strconcat(const char *str, ...); int safe_strcmp(const char *s1, const char *s2); int safe_strcoll(const char *s1, const char *s2); @@ -20,6 +32,16 @@ int strwidth(const char *s); int bytes2width(const char *s, int width); +void abook_list_append(abook_list **list, char *str); +void abook_list_free(abook_list **list); +char *abook_list_to_csv(abook_list *list); +abook_list *csv_to_abook_list(char *str); +void abook_list_rotate(abook_list **list, enum rotate_dir dir); +void abook_list_replace(abook_list **list, int index, char *str); +abook_list *abook_list_get(abook_list *list, int index); +#define abook_list_delete(list, index) abook_list_replace(list, index, NULL) + + #ifdef HAVE_CONFIG_H # include "config.h" #endif @@ -34,3 +56,6 @@ int vsnprintf (char *str, size_t count, const char *fmt, va_list arg); #endif #endif + + +