diff options
Diffstat (limited to 'libs/cairo-1.16.0/util/cairo-missing/getline.c')
-rw-r--r-- | libs/cairo-1.16.0/util/cairo-missing/getline.c | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/libs/cairo-1.16.0/util/cairo-missing/getline.c b/libs/cairo-1.16.0/util/cairo-missing/getline.c deleted file mode 100644 index 8585cfd..0000000 --- a/libs/cairo-1.16.0/util/cairo-missing/getline.c +++ /dev/null @@ -1,90 +0,0 @@ -/* cairo - a vector graphics library with display and print output - * - * Copyright © 2006 Red Hat, Inc. - * Copyright © 2011 Andrea Canciani - * - * Permission to use, copy, modify, distribute, and sell this software - * and its documentation for any purpose is hereby granted without - * fee, provided that the above copyright notice appear in all copies - * and that both that copyright notice and this permission notice - * appear in supporting documentation, and that the name of the - * copyright holders not be used in advertising or publicity - * pertaining to distribution of the software without specific, - * written prior permission. The copyright holders make no - * representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied - * warranty. - * - * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS - * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY - * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN - * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING - * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - * - * Authors: Carl Worth <cworth@cworth.org> - * Andrea Canciani <ranma42@gmail.com> - */ - -#include "cairo-missing.h" - -#ifndef HAVE_GETLINE -#include "cairo-malloc-private.h" - -#define GETLINE_MIN_BUFFER_SIZE 128 -ssize_t -getline (char **lineptr, - size_t *n, - FILE *stream) -{ - char *line, *tmpline; - size_t len, offset; - ssize_t ret; - - offset = 0; - len = *n; - line = *lineptr; - if (len < GETLINE_MIN_BUFFER_SIZE) { - len = GETLINE_MIN_BUFFER_SIZE; - line = NULL; - } - - if (line == NULL) { - line = (char *) _cairo_malloc (len); - if (unlikely (line == NULL)) - return -1; - } - - while (1) { - if (offset + 1 == len) { - tmpline = (char *) _cairo_realloc_ab (line, len, 2); - if (unlikely (tmpline == NULL)) { - if (line != *lineptr) - free (line); - return -1; - } - len *= 2; - line = tmpline; - } - - ret = getc (stream); - if (ret == -1) - break; - - line[offset++] = ret; - if (ret == '\n') { - ret = offset; - break; - } - } - - line[offset++] = '\0'; - *lineptr = line; - *n = len; - - return ret; -} -#undef GETLINE_BUFFER_SIZE -#endif |