Ignore:
File:
1 edited

Legend:

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

    rf3504c1 r8d2dd7f2  
    4646#include <byteorder.h>
    4747#include <align.h>
     48#include <sys/typefmt.h>
    4849#include <str.h>
    4950#include <getopt.h>
     
    101102        size_t   sector_size;
    102103        size_t   cluster_size;
    103         const char *label;
    104104} exfat_cfg_t;
     105
    105106
    106107static unsigned log2(unsigned n);
     
    126127        {"cluster-size", required_argument, 0, 'c'},
    127128        {"fs-size", required_argument, 0, 's'},
    128         {"label", required_argument, 0, 'L' },
    129129};
    130130
     
    133133        printf("Usage: mkexfat [options] <device>\n"
    134134            "-c, --cluster-size ## Specify the cluster size (Kb)\n"
    135             "-s, --fs-size ##      Specify the filesystem size (sectors)\n"
    136             "    --label ##        Volume label\n");
     135            "-s, --fs-size ##      Specify the filesystem size (sectors)\n");
    137136}
    138137
     
    599598        exfat_dentry_t *d;
    600599        aoff64_t rootdir_sec;
    601         uint16_t wlabel[EXFAT_VOLLABEL_LEN + 1];
    602600        int rc;
    603601        uint8_t *data;
     
    611609
    612610        /* Initialize the volume label dentry */
    613 
    614         if (cfg->label != NULL) {
    615                 memset(wlabel, 0, (EXFAT_VOLLABEL_LEN + 1) * sizeof(uint16_t));
    616                 rc = str_to_utf16(wlabel, EXFAT_VOLLABEL_LEN + 1, cfg->label);
    617                 if (rc != EOK) {
    618                         rc = EINVAL;
    619                         goto exit;
    620                 }
    621 
    622                 d->type = EXFAT_TYPE_VOLLABEL;
    623                 memcpy(d->vollabel.label, wlabel, EXFAT_VOLLABEL_LEN * 2);
    624                 d->vollabel.size = utf16_wsize(wlabel);
    625                 assert(d->vollabel.size <= EXFAT_VOLLABEL_LEN);
    626 
    627                 d++;
    628         } else {
    629                 d->type = EXFAT_TYPE_VOLLABEL & ~EXFAT_TYPE_USED;
    630         }
     611        d->type = EXFAT_TYPE_VOLLABEL;
     612        str_to_utf16(d->vollabel.label, 8, "HELENOS ");
     613        d->vollabel.size = 8;
     614
     615        d++;
    631616
    632617        /* Initialize the allocation bitmap dentry */
     
    767752
    768753        cfg.cluster_size = 0;
    769         cfg.label = NULL;
    770754
    771755        for (c = 0, optind = 0, opt_ind = 0; c != -1;) {
    772                 c = getopt_long(argc, argv, "hs:c:L:",
     756                c = getopt_long(argc, argv, "hs:c:",
    773757                    long_options, &opt_ind);
    774758                switch (c) {
     
    798782                        }
    799783                        break;
    800                 case 'L':
    801                         cfg.label = optarg;
    802                         break;
    803784                }
    804785        }
Note: See TracChangeset for help on using the changeset viewer.