X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=string.h;h=10251ae7c10b734bd906a644e0832e29b9e6bd9c;hp=61bb7c25b04998ed1c6616240f2e51f6627a5360;hb=e0545fd978a9583f9583b9bb35e5c25cb78c78f4;hpb=9d8fdf8898418711558f70a9630b2444036d8285 diff --git a/string.h b/string.h index 61bb7c25..10251ae7 100644 --- a/string.h +++ b/string.h @@ -1,8 +1,4 @@ -/* - * Copyright (C) 2006 Andre Noll - * - * Licensed under the GPL v2. For licencing details see COPYING. - */ +/* Copyright (C) 2006 Andre Noll , see file COPYING. */ /** \file string.h exported symbols from string.c */ @@ -20,7 +16,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 +33,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,18 +48,18 @@ 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, ...) (\ { \ if ((b)->flags & PBF_SIZE_PREFIX) { \ - para_printf((b), "%02x:" f, n, ## __VA_ARGS__); \ + para_printf((b), "%02x:" f, (unsigned)n, ## __VA_ARGS__); \ } else { \ para_printf((b), "%s: " f, status_item_list[(n)], \ ## __VA_ARGS__); \ @@ -101,3 +97,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);