Changeset 33b8d024 in mainline for uspace/app/bdsh/compl.c


Ignore:
Timestamp:
2018-01-16T20:38:46Z (6 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:
2467b41
Parents:
d39c46e0
Message:

Remove const qualifier from the argument of free() and realloc(),
as well as in numerous other variables that hold ownership of memory.

By convention, a pointer that holds ownership is _never_ qualified by const.
This is reflected in the standard type signature of free() and realloc().
Allowing const pointers to hold ownership may seem superficially convenient,
but is actually quite confusing to experienced C programmers.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/bdsh/compl.c

    rd39c46e0 r33b8d024  
    6969
    7070        /** Pointer inside list of directories */
    71         const char **path;
     71        const char *const *path;
    7272        /** If not @c NULL, should be freed in the end. */
    73         const char **path_list;
     73        char **path_list;
    7474        /** Current open directory */
    7575        DIR *dir;
     
    219219                cs->path_list[0] = dirname;
    220220                cs->path_list[1] = NULL;
    221                 cs->path = cs->path_list;
     221                /* The second const ensures that we can't assign a const
     222                 * string to the non-const array. */
     223                cs->path = (const char *const *) cs->path_list;
    222224
    223225        } else if (cs->is_command) {
Note: See TracChangeset for help on using the changeset viewer.