summaryrefslogtreecommitdiff
path: root/str/str.h
diff options
context:
space:
mode:
Diffstat (limited to 'str/str.h')
-rwxr-xr-xstr/str.h24
1 files changed, 7 insertions, 17 deletions
diff --git a/str/str.h b/str/str.h
index c81771b..9c68595 100755
--- a/str/str.h
+++ b/str/str.h
@@ -25,24 +25,21 @@ typedef struct str {
bool charisalpha(char c);
-
bool charisnum(char c);
-
bool charisblank(char c);
-
bool charislinebreak(char c);
-
bool charisspace(char c);
char lowerchar(char c);
-
u32 lowers(char *s);
u32 len(const char *s);
+// reorder?
str dstr(char *s);
-
str dnstr(u32 cap);
+str dsstr(char *s);
+str dsnstr(char *s, u32 len);
#define slen(s) (sizeof(s)-1)
@@ -61,6 +58,7 @@ str utostr(u64 n, int b);
u64 strtou(str s);
int streq(str s1, str s2);
+int streqn(str s1, str s2, u32 n);
#define NUMSTRS(...) (sizeof((str[]){{0}, ##__VA_ARGS__})/sizeof(str)-1)
@@ -86,36 +84,26 @@ u64 vlen_nstrs(u64 n, va_list args);
}
void copy_nstrs(str dst, u64 n, ...);
-
void vcopy_nstrs(str dst, u64 n, va_list args);
-
void move_nstrs(str dst, u64 n, ...);
-
void vmove_nstrs(str dst, u64 n, va_list args);
-
str dup_nstrs(u64 n, ...);
-
str vdup_nstrs(u64 n, va_list args);
-
#define copy_strs(d, ...) \
copy_nstrs(d, NUMSTRS(__VA_ARGS__), __VA_ARGS__); \
(d).len += len_nstrs(NUMSTRS(__VA_ARGS__), __VA_ARGS__)
-
#define move_strs(d, ...) \
move_nstrs(d, NUMSTRS(__VA_ARGS__), __VA_ARGS__); \
(d).len += len_nstrs(NUMSTRS(__VA_ARGS__), __VA_ARGS__)
-
#define dup_strs(...) \
dup_nstrs(NUMSTRS(__VA_ARGS__), __VA_ARGS__);
str read_delim(char *buf, char d);
-
str sread_delim(char *buf, char d);
-
str read_delim_f(char *buf, bool (*func)(char), bool func_cond);
-
str sread_delim_f(char *buf, bool (*func)(char), bool func_cond);
+// probably do away with this
u32 get_line_len(char *buf);
str fd_to_str(int fd);
@@ -129,6 +117,8 @@ str map_file(char *filename);
str map_file_at(char *filename, int len, int at);
void unmap_file(str *s);
+#define read_str(max) fread_str(STDIN_FILENO, max)
+str fread_str(int fd, int max);
void print_str(str s);
void free_str(str *s);