X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7e741c018ba34742ccfdbf842299d711521dbf8f..3d845df082d79ab89649c1a8829eea201ae01085:/src/xbt/xbt_str.c diff --git a/src/xbt/xbt_str.c b/src/xbt/xbt_str.c index 5a2e5a62bb..d1f1cd91ea 100644 --- a/src/xbt/xbt_str.c +++ b/src/xbt/xbt_str.c @@ -1,6 +1,6 @@ /* xbt_str.c - various helping functions to deal with strings */ -/* Copyright (c) 2007, 2008, 2009, 2010. The SimGrid Team. +/* Copyright (c) 2007-2014. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -520,65 +520,6 @@ char *xbt_str_join_array(const char *const *strs, const char *sep) return res; } -/** @brief Get a single line from the stream (reimplementation of the GNU getline) - * - * This is a redefinition of the GNU getline function, used on platforms where - * it does not exists. - * - * xbt_getline() reads an entire line from stream, storing the address of the - * buffer containing the text into *buf. The buffer is null-terminated and - * includes the newline character, if one was found. - * - * If *buf is NULL, then xbt_getline() will allocate a buffer for storing the - * line, which should be freed by the user program. - * - * Alternatively, before calling xbt_getline(), *buf can contain a pointer to a - * malloc()-allocated buffer *n bytes in size. If the buffer is not large - * enough to hold the line, xbt_getline() resizes it with realloc(), updating - * *buf and *n as necessary. - * - * In either case, on a successful call, *buf and *n will be updated to reflect - * the buffer address and allocated size respectively. - */ -ssize_t xbt_getline(char **buf, size_t * n, FILE * stream) -{ -#if !defined(SIMGRID_NEED_GETLINE) - return getline(buf, n, stream); -#else - size_t i; - int ch; - - if (!*buf) { - *buf = xbt_malloc(512); - *n = 512; - } - - if (feof(stream)) - return (ssize_t) - 1; - - for (i = 0; (ch = fgetc(stream)) != EOF; i++) { - - if (i >= (*n) + 1) - *buf = xbt_realloc(*buf, *n += 512); - - (*buf)[i] = ch; - - if ((*buf)[i] == '\n') { - i++; - (*buf)[i] = '\0'; - break; - } - } - - if (i == *n) - *buf = xbt_realloc(*buf, *n += 1); - - (*buf)[i] = '\0'; - - return (ssize_t) i; -#endif -} - /* * Diff related functions *