X-Git-Url: https://git.deb.at/w?p=pkg%2Fabook.git;a=blobdiff_plain;f=misc.h;h=f7713ac717df22e33fd48cfe1eabf9064af2126d;hp=b40a4a1af9ca435186389e469292811af6ded909;hb=HEAD;hpb=7c54e85b04f6d030ae47dd880d0391f6e35d1634 diff --git a/misc.h b/misc.h index b40a4a1..f7713ac 100644 --- a/misc.h +++ b/misc.h @@ -1,11 +1,23 @@ #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 *); +int is_number(char *s); + char *strdup_printf(const char *format, ... ); char *strconcat(const char *str, ...); @@ -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 @@ -32,5 +54,8 @@ int snprintf (char *str, size_t count, const char *fmt, ...); #ifndef HAVE_VSNPRINTF int vsnprintf (char *str, size_t count, const char *fmt, va_list arg); #endif +#ifndef HAVE_STRCASESTR +char *strcasestr(const char *, const char *); +#endif #endif