X-Git-Url: https://git.deb.at/w?p=pkg%2Fabook.git;a=blobdiff_plain;f=misc.h;h=f7713ac717df22e33fd48cfe1eabf9064af2126d;hp=9b42d2c6ab9e6ad69de06472b8d0e7538fa231d0;hb=aa2211628a295b85990dbfd8af031d152b583f07;hpb=9d82930091c8cce4fc56c6f9e3cf46e68ca0bcb3 diff --git a/misc.h b/misc.h index 9b42d2c..f7713ac 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 @@ -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