Changeset b7fd2a0 in mainline for uspace/lib/c/include/arg_parse.h


Ignore:
Timestamp:
2018-01-13T03:10:29Z (7 years ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a53ed3a
Parents:
36f0738
Message:

Use errno_t in all uspace and kernel code.

Change type of every variable, parameter and return value that holds an
<errno.h> constant to either errno_t (the usual case), or sys_errno_t
(some places in kernel). This is for the purpose of self-documentation,
as well as for type-checking with a bit of type definition hackery.

Although this is a massive commit, it is a simple text replacement, and thus
is very easy to verify. Simply do the following:

`
git checkout <this commit's hash>
git reset HEAD
git add .
tools/srepl '\berrno_t\b' int
git add .
tools/srepl '\bsys_errno_t\b' sysarg_t
git reset
git diff
`

While this doesn't ensure that the replacements are correct, it does ensure
that the commit doesn't do anything except those replacements. Since errno_t
is typedef'd to int in the usual case (and sys_errno_t to sysarg_t), even if
incorrect, this commit cannot change behavior.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/include/arg_parse.h

    r36f0738 rb7fd2a0  
    3838#include <errno.h>
    3939
    40 typedef int (*arg_parser)(const char *, int *);
     40typedef errno_t (*arg_parser)(const char *, int *);
    4141
    4242extern int arg_parse_short_long(const char *, const char *, const char *);
    43 extern int arg_parse_int(int, char **, int *, int *, int);
    44 extern int arg_parse_name_int(int, char **, int *, int *, int, arg_parser);
    45 extern int arg_parse_string(int, char **, int *, char **, int);
     43extern errno_t arg_parse_int(int, char **, int *, int *, int);
     44extern errno_t arg_parse_name_int(int, char **, int *, int *, int, arg_parser);
     45extern errno_t arg_parse_string(int, char **, int *, char **, int);
    4646
    4747#endif
Note: See TracChangeset for help on using the changeset viewer.