X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flibpspp%2Fstr.h;h=4a219d7a81f04d8c4a4bb51e9c9c112a0815caa4;hb=4b8c6191f0204d6a0b62650490ef2794d62ec79c;hp=64da85629bdc253717745b755fbeff860afa1cd1;hpb=85511a4716efe359d50a21b2869f1d14f6b18731;p=pspp-builds.git diff --git a/src/libpspp/str.h b/src/libpspp/str.h index 64da8562..4a219d7a 100644 --- a/src/libpspp/str.h +++ b/src/libpspp/str.h @@ -72,9 +72,9 @@ struct substring /* Constructors. These functions do not allocate any memory, so the substrings they create should not normally be destroyed. */ -struct substring ss_empty (void); -struct substring ss_cstr (const char *); -struct substring ss_buffer (const char *, size_t); +static inline struct substring ss_empty (void); +static inline struct substring ss_cstr (const char *); +static inline struct substring ss_buffer (const char *, size_t); struct substring ss_substr (struct substring, size_t start, size_t); struct substring ss_head (struct substring, size_t); struct substring ss_tail (struct substring, size_t); @@ -226,6 +226,33 @@ void ds_relocate (struct string *st); void u8_buf_copy_rpad (uint8_t *dst, size_t dst_size, const uint8_t *src, size_t src_size, char pad); - + +struct substring +ss_empty (void) +{ + struct substring ss; + ss.string = NULL; + ss.length = 0; + return ss; +} + +/* Returns a substring whose contents are the given C-style + string CSTR. */ +static inline struct substring +ss_cstr (const char *cstr) +{ + return ss_buffer (cstr, strlen (cstr)); +} + +/* Returns a substring whose contents are the CNT characters in + BUFFER. */ +static inline struct substring +ss_buffer (const char *buffer, size_t cnt) +{ + struct substring ss; + ss.string = (char *) buffer; + ss.length = cnt; + return ss; +} #endif /* str_h */