Changes in / [d5a89a3:4805495] in mainline


Ignore:
Location:
uspace
Files:
1 added
8 deleted
11 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/df/df.c

    rd5a89a3 r4805495  
    7070
    7171        /* Parse command-line options */
    72         while ((optres = getopt(argc, argv, "ubh")) != -1) {
     72        while ((optres = getopt(argc, argv, ":ubh")) != -1) {
    7373                switch (optres) {
    7474                case 'h':
     
    7878                case 'b':
    7979                        display_blocks = true;
     80                        break;
     81
     82                case ':':
     83                        fprintf(stderr, "Option -%c requires an operand\n",
     84                            optopt);
     85                        errflg++;
    8086                        break;
    8187
  • uspace/lib/c/Makefile

    rd5a89a3 r4805495  
    190190TEST_SOURCES = \
    191191        test/adt/circ_buf.c \
    192         test/adt/odict.c \
    193192        test/casting.c \
    194193        test/fibril/timer.c \
     
    198197        test/io/table.c \
    199198        test/stdio/scanf.c \
     199        test/odict.c \
    200200        test/perf.c \
    201201        test/perm.c \
     
    205205        test/stdlib.c \
    206206        test/str.c \
    207         test/string.c \
    208         test/cap.c \
    209         test/gsort.c \
    210         test/ieee_double.c \
    211         test/double_to_str.c \
    212         test/getopt.c \
    213         test/uuid.c \
    214         test/imath.c
     207        test/string.c
    215208
    216209include $(USPACE_PREFIX)/Makefile.common
  • uspace/lib/c/generic/cap.c

    rd5a89a3 r4805495  
    160160
    161161        /* Round the number so that we have at most @c scap_max_sdig significant digits */
    162         rc = ilog10_u64(cap->m, &sdig); /* number of significant digits */
    163         sdig += 1;
    164         assert(rc == EOK);
     162        sdig = 1 + ilog10_u64(cap->m); /* number of significant digits */
    165163        if (sdig > scap_max_sdig) {
    166164                /* Number of digits to remove */
  • uspace/lib/c/generic/gsort.c

    rd5a89a3 r4805495  
    3333/**
    3434 * @file
    35  * @brief Gnome Sort.
     35 * @brief Sorting functions.
    3636 *
    37  * This file contains an implementation of gnome sort
     37 * This files contains functions implementing several sorting
     38 * algorithms (e.g. quick sort and gnome sort).
    3839 *
    3940 */
     
    7980                if ((i != 0) &&
    8081                    (cmp(INDEX(data, i, elem_size),
    81                     INDEX(data, i - 1, elem_size), arg) <= -1)) {
     82                    INDEX(data, i - 1, elem_size), arg) == -1)) {
    8283                        memcpy(slot, INDEX(data, i, elem_size), elem_size);
    8384                        memcpy(INDEX(data, i, elem_size), INDEX(data, i - 1, elem_size),
  • uspace/lib/c/generic/ieee_double.c

    rd5a89a3 r4805495  
    9292                if (ret.is_denormal) {
    9393                        ret.pos_val.significand = raw_significand;
    94                         if (raw_significand == 0) {
    95                                 ret.pos_val.exponent = -exponent_bias;
    96                         } else {
    97                                 ret.pos_val.exponent = 1 - exponent_bias;
    98                         }
    99 
     94                        ret.pos_val.exponent = 1 - exponent_bias;
    10095                        ret.is_accuracy_step = false;
    10196                } else {
  • uspace/lib/c/generic/imath.c

    rd5a89a3 r4805495  
    5050errno_t ipow10_u64(unsigned exp, uint64_t *res)
    5151{
    52         uint64_t a;
     52        unsigned a;
    5353        uint64_t r;
    5454
     
    8181 *
    8282 * @param v Value to compute logarithm from
    83  * @param res Place to store result
    84  * @return EOK on success
    8583 * @return Logarithm value
    8684 */
    87 errno_t ilog10_u64(uint64_t v, unsigned *res)
     85unsigned ilog10_u64(uint64_t v)
    8886{
    89         if (v == 0)
    90                 return ERANGE;
    91 
    9287        unsigned b;
    9388        unsigned e;
     
    122117        }
    123118
    124         *res = r;
    125         return EOK;
     119        return r;
    126120}
    127121
  • uspace/lib/c/generic/string.c

    rd5a89a3 r4805495  
    565565        }
    566566
    567         strncpy(dup, s, sz);
     567        strcpy(dup, s);
    568568        return dup;
    569569}
  • uspace/lib/c/generic/uuid.c

    rd5a89a3 r4805495  
    3939#include <stddef.h>
    4040#include <str.h>
    41 #include <stdio.h>
    4241
    4342/** Generate UUID.
     
    6564
    6665        /* Version 4 UUID from random or pseudo-random numbers */
    67         uuid->b[6] = (uuid->b[6] & 0x4F) | 0x40;
    68         uuid->b[8] = (uuid->b[8] & 0xBF) | 0xB0;
    69        
    70         rc = EOK;
     66        uuid->b[8] = (uuid->b[8] & ~0xc0) | 0x40;
     67        uuid->b[6] = (uuid->b[6] & 0xf0) | 0x40;
     68
     69        return EOK;
    7170error:
    7271        rndgen_destroy(rndgen);
     
    140139
    141140        rc = str_uint64_t(str + 24, &eptr, 16, false, &node);
    142         if (rc != EOK || eptr != str + 36)
     141        if (rc != EOK || eptr != str + 36 || *eptr != '\0')
    143142                return EINVAL;
    144143
     
    177176 * @return EOK on success, ENOMEM if out of memory
    178177 */
    179 errno_t uuid_format(uuid_t *uuid, char **rstr, bool uppercase)
     178errno_t uuid_format(uuid_t *uuid, char **rstr)
    180179{
    181         size_t size = 37;
    182         char *str = malloc(sizeof(char) * size);
    183         if (str == NULL)
    184                 return ENOMEM;
    185        
    186         const char *format = "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x";
    187         if (uppercase)
    188                 format = "%02X%02X%02X%02X-%02X%02X-%02X%02X-%02X%02X-%02X%02X%02X%02X%02X%02X";
    189 
    190         int ret = snprintf(str, size, format, uuid->b[0], uuid->b[1], uuid->b[2], uuid->b[3], uuid->b[4], uuid->b[5], uuid->b[6], uuid->b[7], uuid->b[8], uuid->b[9], uuid->b[10], uuid->b[11], uuid->b[12], uuid->b[13], uuid->b[14], uuid->b[15]);
    191        
    192         if (ret != 36)
    193                 return EINVAL;
    194 
    195         *rstr = str;
    196         return EOK;
     180        return ENOTSUP;
    197181}
    198182
  • uspace/lib/c/include/imath.h

    rd5a89a3 r4805495  
    4040
    4141extern errno_t ipow10_u64(unsigned, uint64_t *);
    42 extern errno_t ilog10_u64(uint64_t, unsigned *);
     42extern unsigned ilog10_u64(uint64_t);
    4343
    4444#endif
  • uspace/lib/c/include/uuid.h

    rd5a89a3 r4805495  
    3838#include <stdint.h>
    3939#include <types/uuid.h>
    40 #include <stdbool.h>
    4140
    4241extern errno_t uuid_generate(uuid_t *);
     
    4443extern void uuid_decode(uint8_t *, uuid_t *);
    4544extern errno_t uuid_parse(const char *, uuid_t *, const char **);
    46 extern errno_t uuid_format(uuid_t *, char **, bool);
     45extern errno_t uuid_format(uuid_t *, char **);
    4746
    4847#endif
  • uspace/lib/c/test/main.c

    rd5a89a3 r4805495  
    4848PCUT_IMPORT(string);
    4949PCUT_IMPORT(table);
    50 PCUT_IMPORT(cap);
    51 PCUT_IMPORT(gsort);
    52 PCUT_IMPORT(ieee_double);
    53 PCUT_IMPORT(double_to_str);
    54 PCUT_IMPORT(getopt);
    55 PCUT_IMPORT(uuid);
    56 PCUT_IMPORT(imath);
    5750
    5851PCUT_MAIN();
Note: See TracChangeset for help on using the changeset viewer.