Browse Source

[posix] remove getline

Meco Man 3 years ago
parent
commit
09c089d511

+ 0 - 6
components/libc/posix/Kconfig

@@ -44,12 +44,6 @@ config RT_USING_POSIX_CLOCK
     select RT_USING_POSIX_DELAY
     select RT_USING_POSIX_DELAY
     default n
     default n
 
 
-config RT_USING_POSIX_GETLINE
-    bool "Enable getline()/getdelim()"
-    select RT_USING_POSIX_FS
-    select RT_USING_POSIX_DEVIO
-    default n
-
 config RT_USING_PTHREADS
 config RT_USING_PTHREADS
     bool "Enable pthreads APIs"
     bool "Enable pthreads APIs"
     select RT_USING_POSIX_CLOCK
     select RT_USING_POSIX_CLOCK

+ 0 - 20
components/libc/posix/getline/README.md

@@ -1,20 +0,0 @@
-# getline/getdelim for RT-Thread POSIX(IEEE Std 1003.1-2008)
-
-[![Build Status](https://travis-ci.org/ivanrad/getline.svg?branch=master)](https://travis-ci.org/ivanrad/getline)
-
-https://github.com/ivanrad/getline
-
-Read a delimited record from stream.
-
-Yet another (hopefully portable C) implementation of getline/getdelim.
-These are ersatz functions, a drop-in replacement, to be used on those occasions when your C library does not already support them.
-
-For more details, see [Open Group Base Specification for getdelim/getline][opengroup-spec].
-
-
-
-## License
-
-This code is unlicensed -- free and released into the public domain. See `UNLICENSE` file for more information.
-
-[opengroup-spec]: http://pubs.opengroup.org/onlinepubs/9699919799/functions/getline.html

+ 0 - 11
components/libc/posix/getline/SConscript

@@ -1,11 +0,0 @@
-# RT-Thread building script for component
-
-from building import *
-
-cwd = GetCurrentDir()
-src = Glob('*.c')
-CPPPATH = [cwd]
-
-group = DefineGroup('POSIX', src, depend = ['RT_USING_POSIX_GETLINE'], CPPPATH = CPPPATH)
-
-Return('group')

+ 0 - 24
components/libc/posix/getline/UNLICENSE

@@ -1,24 +0,0 @@
-This is free and unencumbered software released into the public domain.
-
-Anyone is free to copy, modify, publish, use, compile, sell, or
-distribute this software, either in source code form or as a compiled
-binary, for any purpose, commercial or non-commercial, and by any
-means.
-
-In jurisdictions that recognize copyright laws, the author or authors
-of this software dedicate any and all copyright interest in the
-software to the public domain. We make this dedication for the benefit
-of the public at large and to the detriment of our heirs and
-successors. We intend this dedication to be an overt act of
-relinquishment in perpetuity of all present and future rights to this
-software under copyright law.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
-OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
-
-For more information, please refer to <http://unlicense.org/>

+ 0 - 77
components/libc/posix/getline/posix_getline.c

@@ -1,77 +0,0 @@
-/* posix_getline.c
- * RT-Thread POSIX
- * getdelim(), getline() - read a delimited record from stream, ersatz implementation
- * This code is unlicensed -- free and released into the public domain.
- * https://man7.org/linux/man-pages/man3/getline.3.html
- * Authors:
- *     https://github.com/ivanrad/getline
- *
- * Meco Man    2020-09-03    porting to RT-Thread
- */
-
-#include "posix_getline.h"
-#include <stdlib.h>
-#include <limits.h>
-#include <sys/errno.h>
-
-ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream) {
-    char *cur_pos, *new_lineptr;
-    size_t new_lineptr_len;
-    int c;
-
-    if (lineptr == NULL || n == NULL || stream == NULL) {
-        errno = EINVAL;
-        return -1;
-    }
-
-    if (*lineptr == NULL) {
-        *n = 128; /* init len */
-        if ((*lineptr = (char *)malloc(*n)) == NULL) {
-            errno = ENOMEM;
-            return -1;
-        }
-    }
-
-    cur_pos = *lineptr;
-    for (;;) {
-        c = getc(stream);
-
-        if (ferror(stream) || (c == EOF && cur_pos == *lineptr))
-            return -1;
-
-        if (c == EOF)
-            break;
-
-        if ((*lineptr + *n - cur_pos) < 2) {
-            if (LONG_MAX / 2 < *n) {
-#ifdef EOVERFLOW
-                errno = EOVERFLOW;
-#else
-                errno = ERANGE; /* no EOVERFLOW defined */
-#endif
-                return -1;
-            }
-            new_lineptr_len = *n * 2;
-
-            if ((new_lineptr = (char *)realloc(*lineptr, new_lineptr_len)) == NULL) {
-                errno = ENOMEM;
-                return -1;
-            }
-            cur_pos = new_lineptr + (cur_pos - *lineptr);
-            *lineptr = new_lineptr;
-            *n = new_lineptr_len;
-        }
-
-        *cur_pos++ = (char)c;
-
-        if (c == delim)
-            break;
-    }
-
-    *cur_pos = '\0';
-    return (ssize_t)(cur_pos - *lineptr);
-}
-
-ssize_t getline(char **lineptr, size_t *n, FILE *stream) {
-    return getdelim(lineptr, n, '\n', stream);
-}

+ 0 - 23
components/libc/posix/getline/posix_getline.h

@@ -1,23 +0,0 @@
-/* posix_getline.h
- * RT-Thread POSIX
- * getdelim(), getline() - read a delimited record from stream, ersatz implementation
- * This code is unlicensed -- free and released into the public domain.
- * https://man7.org/linux/man-pages/man3/getline.3.html
- * Authors:
- *     https://github.com/ivanrad/getline
- *
- * Meco Man    2020-09-03    porting to RT-Thread
- */
-
-
-#ifndef POSIX_GETLINE_H
-#define POSIX_GETLINE_H
-
-#include <stdio.h>
-#include <sys/types.h>
-
-ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream);
-ssize_t getline(char **lineptr, size_t *n, FILE *stream);
-
-#endif /* POSIX_GETLINE_H */
-