X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=string.h;h=a4093003d2d42cecb0be8cf75701a3ef30d96886;hp=f3e935e3496de052e0afdce77f865eea1f0639b1;hb=065d01e33a5edbd3b55e9f27b87e54b6cc2b4224;hpb=6e0b28e02a1013c019a3225e922b71f913bfbae4 diff --git a/string.h b/string.h index f3e935e3..a4093003 100644 --- a/string.h +++ b/string.h @@ -20,7 +20,7 @@ struct para_buffer { size_t size; /** The maximal size this buffer may grow. Zero means unlimited. */ size_t max_size; - /** \sa para_buffer_flags. */ + /** \sa \ref para_buffer_flags. */ unsigned flags; /** The next para_printf() will write at this offset. */ size_t offset; @@ -37,7 +37,7 @@ struct para_buffer { /** * Controls the behavior of for_each_line(). * - * \sa for_each_line(). + * \sa \ref for_each_line(). */ enum for_each_line_flags { /** Activate read-only mode. */ @@ -52,24 +52,22 @@ int for_each_line(unsigned flags, char *buf, size_t size, line_handler_t *line_handler, void *private_data); /** - * Write the contents of a status item to a para_buffer. - * - * \param b The para_buffer. - * \param n The number of the status item. - * \param f A format string. - * - * \return The return value of the underlying call to para_printf(). - */ + * Write the contents of a status item to a para_buffer. + * + * \param b The para_buffer. + * \param n The number of the status item. + * \param f A format string. + * + * \return The return value of the underlying call to \ref para_printf(). + */ #define WRITE_STATUS_ITEM(b, n, f, ...) (\ { \ - int _ret; \ if ((b)->flags & PBF_SIZE_PREFIX) { \ - _ret = para_printf((b), "%02x:" f, n, ## __VA_ARGS__); \ + para_printf((b), "%02x:" f, (unsigned)n, ## __VA_ARGS__); \ } else { \ - _ret = para_printf((b), "%s: " f, status_item_list[(n)], \ + para_printf((b), "%s: " f, status_item_list[(n)], \ ## __VA_ARGS__); \ } \ - _ret; \ } \ ) @@ -103,3 +101,5 @@ char *safe_strdup(const char *src, size_t len); char *key_value_copy(const char *src, size_t len, const char *key); int skip_cells(const char *s, size_t cells_to_skip, size_t *result); __must_check int strwidth(const char *s, size_t *result); +__must_check int sanitize_str(const char *src, size_t max_width, + char **result, size_t *width);