Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 4a764d1 in mainline


Ignore:
Timestamp:
2019-06-01T12:45:30Z (20 months ago)
Author:
Matthieu Riolo <matthieu.riolo@…>
Branches:
master
Children:
c878693
Parents:
0feb39b
Message:

Replacing scanf() with str_rchr()

The command ls used scanf() for indenting
the size column. This has been replaced with
str_rchr() which is safer in that context.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/bdsh/cmds/modules/ls/ls.c

    r0feb39b r4a764d1  
    112112                        errno_t rc = cap_format(&cap, &rptr);
    113113                        if (rc == EOK) {
    114                                 char bytes[9], suffix[3];
    115                                 sscanf(rptr, "%s %s", bytes, suffix);
     114                                char *sep = str_rchr(rptr, ' ');
     115                                if (sep == NULL) {
     116                                        free(rptr);
     117                                        return ENOENT;
     118                                }
     119
     120                                *sep = '\0';
     121
     122                                printf("%-40s\t%*s %2s\n", de->name, width - 3, rptr, sep + 1);
    116123                                free(rptr);
    117 
    118                                 printf("%-40s\t%*s %2s\n", de->name, width - 3, bytes, suffix);
    119124                        } else
    120125                                return rc;
Note: See TracChangeset for help on using the changeset viewer.