source: mainline/uspace/lib/posix/stdlib.c@ 63fc519

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 63fc519 was 63fc519, checked in by Jiří Zárevúcky <zarevucky.jiri@…>, 14 years ago

Add strtold() implementation and use it for strtof() and strtod() as well.

  • Property mode set to 100644
File size: 2.7 KB
RevLine 
[2fc5072]1/*
2 * Copyright (c) 2011 Petr Koupy
[ceebf0a]3 * Copyright (c) 2011 Jiri Zarevucky
[2fc5072]4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * - Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * - Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 * - The name of the author may not be used to endorse or promote products
16 * derived from this software without specific prior written permission.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 */
29
30/** @addtogroup libposix
31 * @{
32 */
33/** @file
34 */
35
[4d10fc8]36#define LIBPOSIX_INTERNAL
[2fc5072]37
[4d10fc8]38#include "stdlib.h"
[9b1503e]39#include "internal/common.h"
[2fc5072]40
41/**
42 *
43 * @param array
44 * @param count
45 * @param size
46 * @param compare
47 */
[4f4b4e7]48void posix_qsort(void *array, size_t count, size_t size,
49 int (*compare)(const void *, const void *))
[2fc5072]50{
51 // TODO
[ceebf0a]52 not_implemented();
[2fc5072]53}
54
55/**
56 *
57 * @param name
58 * @return
59 */
60char *posix_getenv(const char *name)
61{
62 // TODO
[ceebf0a]63 not_implemented();
[2fc5072]64}
65
66/**
67 *
68 * @param name
69 * @param resolved
70 * @return
71 */
72char *posix_realpath(const char *name, char *resolved)
73{
74 // TODO
[ceebf0a]75 not_implemented();
76}
77
78/**
[63fc519]79 * Converts a string representation of a floating-point number to
80 * its native representation. See posix_strtold().
81 *
[ceebf0a]82 * @param nptr
83 * @param endptr
84 * @return
85 */
86float posix_strtof(const char *restrict nptr, char **restrict endptr)
87{
[63fc519]88 return (float) posix_strtold(nptr, endptr);
[ceebf0a]89}
90
91/**
[63fc519]92 * Converts a string representation of a floating-point number to
93 * its native representation. See posix_strtold().
94 *
[ceebf0a]95 * @param nptr
96 * @param endptr
97 * @return
98 */
99double posix_strtod(const char *restrict nptr, char **restrict endptr)
100{
[63fc519]101 return (double) posix_strtold(nptr, endptr);
[2fc5072]102}
103
[09b0b1fb]104/**
105 *
106 * @param str
107 * @return
108 */
109int posix_atoi(const char *str)
110{
111 // TODO
112 not_implemented();
113}
114
[2fc5072]115/** @}
116 */
Note: See TracBrowser for help on using the repository browser.