Changeset 6453e306 in mainline for uspace/app/hdisk/input.c


Ignore:
Timestamp:
2013-12-25T16:09:43Z (11 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ac36aed
Parents:
d51beba3
Message:

basic code review and coding style cleanup

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/hdisk/input.c

    rd51beba3 r6453e306  
    11/*
    2  * Copyright (c) 2012, 2013 Dominik Taborsky
     2 * Copyright (c) 2012-2013 Dominik Taborsky
    33 * All rights reserved.
    44 *
     
    2727 */
    2828
    29  /** @addtogroup hdisk
     29/** @addtogroup hdisk
    3030 * @{
    3131 */
     
    3636#include <errno.h>
    3737#include <stdlib.h>
    38 
    3938#include "input.h"
    4039
    4140typedef int (*conv_f)(const char *, char **, unsigned int, bool, void *);
    42 static int convert(tinput_t * in, conv_f str_f, void * val);
    4341
    44 int get_input_line(tinput_t * in, char ** str)
     42static int convert(tinput_t *, conv_f, void *);
     43
     44int get_input_line(tinput_t *in, char **str)
    4545{
    46         int rc;
    47         rc = tinput_read(in, str);
    48         if (rc == ENOENT) {
    49                 /* User requested exit */
     46        int rc = tinput_read(in, str);
     47        if (rc == ENOENT)
    5048                return EINTR;
    51         }
    52         if (rc != EOK) {
    53                 /* Error in communication with console */
     49       
     50        if (rc != EOK)
    5451                return rc;
    55         }
     52       
    5653        /* Check for empty input. */
    5754        if (str_cmp(*str, "") == 0) {
     
    6057                return EINVAL;
    6158        }
    62 
     59       
    6360        return EOK;
    6461}
    6562
    66 uint8_t get_input_uint8(tinput_t * in)
     63uint8_t get_input_uint8(tinput_t *in)
    6764{
    68         int rc;
    6965        uint32_t val;
    70        
    71         rc = convert(in, (conv_f) str_uint8_t, &val);
    72         if (rc != EOK) {
    73                 errno = rc;
    74                 return 0;
    75         }
    76        
    77         return val;
    78 }
    79 
    80 uint32_t get_input_uint32(tinput_t * in)
    81 {
    82         int rc;
    83         uint32_t val;
    84        
    85         rc = convert(in, (conv_f) str_uint32_t, &val);
    86         if (rc != EOK) {
    87                 errno = rc;
    88                 return 0;
    89         }
    90        
    91         return val;
    92 }
    93 
    94 uint64_t get_input_uint64(tinput_t * in)
    95 {
    96         int rc;
    97         uint64_t val;
    98        
    99         rc = convert(in, (conv_f) str_uint64_t, &val);
    100         if (rc != EOK) {
    101                 errno = rc;
    102                 return 0;
    103         }
    104        
    105         return val;
    106 }
    107 
    108 size_t get_input_size_t(tinput_t * in)
    109 {
    110         int rc;
    111         size_t val;
    112        
    113         rc = convert(in, (conv_f) str_size_t, &val);
     66        int rc = convert(in, (conv_f) str_uint8_t, &val);
    11467        if (rc != EOK) {
    11568                errno = rc;
     
    12174}
    12275
    123 static int convert(tinput_t * in, conv_f str_f, void * val)
     76uint32_t get_input_uint32(tinput_t *in)
    12477{
    125         int rc;
    126         char * str;
     78        uint32_t val;
     79        int rc = convert(in, (conv_f) str_uint32_t, &val);
     80        if (rc != EOK) {
     81                errno = rc;
     82                return 0;
     83        }
    12784       
    128         rc = get_input_line(in, &str);
     85        errno = EOK;
     86        return val;
     87}
     88
     89uint64_t get_input_uint64(tinput_t *in)
     90{
     91        uint64_t val;
     92        int rc = convert(in, (conv_f) str_uint64_t, &val);
     93        if (rc != EOK) {
     94                errno = rc;
     95                return 0;
     96        }
     97       
     98        errno = EOK;
     99        return val;
     100}
     101
     102size_t get_input_size_t(tinput_t *in)
     103{
     104        size_t val;
     105        int rc = convert(in, (conv_f) str_size_t, &val);
     106        if (rc != EOK) {
     107                errno = rc;
     108                return 0;
     109        }
     110       
     111        errno = EOK;
     112        return val;
     113}
     114
     115static int convert(tinput_t *in, conv_f str_f, void *val)
     116{
     117        char *str;
     118        int rc = get_input_line(in, &str);
    129119        if (rc != EOK) {
    130120                printf("Error reading input.\n");
     
    133123       
    134124        rc = str_f(str, NULL, 10, true, val);
    135         if (rc != EOK) {
     125        if (rc != EOK)
    136126                printf("Invalid value.\n");
    137         }
    138127       
    139128        free(str);
    140129        return rc;
    141130}
    142 
Note: See TracChangeset for help on using the changeset viewer.