VirtualBox

Ignore:
Timestamp:
Jan 20, 2009 8:42:09 PM (16 years ago)
Author:
vboxsync
Message:

Linux shared folders: ignore noauto option

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c

    r14598 r16099  
    5757    } while (0)
    5858
    59 struct opts {
     59struct opts
     60{
    6061    int  uid;
    6162    int  gid;
     
    106107    long long int val = strtoll (s, &endptr, base);
    107108
    108     if (val < INT_MIN || val > INT_MAX || endptr < s + size) {
     109    if (val < INT_MIN || val > INT_MAX || endptr < s + size)
     110    {
    109111        errno = ERANGE;
    110112        panic_err ("could not convert %.*s to integer, result = %d",
     
    139141        HONOSUID,
    140142        HOSUID,
    141         HOREMOUNT
     143        HOREMOUNT,
     144        HONOAUTO
    142145    } handler_opt;
    143     struct {
     146    struct
     147    {
    144148        const char *name;
    145149        handler_opt opt;
    146150        int has_arg;
    147151        const char *desc;
    148     } handlers[] = {
     152    } handlers[]
     153    =
     154    {
    149155        {"rw",        HORW,        0, "mount read write (default)"},
    150156        {"ro",        HORO,        0, "mount read only"},
     
    166172        {"suid",      HOSUID,      0, 0 },
    167173        {"remount",   HOREMOUNT,   0, 0 },
     174        {"noauto",    HONOAUTO,    0, 0 },
    168175        {NULL, 0, 0, NULL}
    169176    }, *handler;
    170177
    171     while (next) {
     178    while (next)
     179    {
    172180        const char *val;
    173181        size_t key_len, val_len;
     
    175183        s = next;
    176184        next = strchr (s, ',');
    177         if (!next) {
     185        if (!next)
     186        {
    178187            len = strlen (s);
    179188        }
    180         else {
     189        else
     190        {
    181191            len = next - s;
    182192            next += 1;
    183             if (!*next) {
     193            if (!*next)
    184194                next = 0;
    185             }
    186195        }
    187196
    188197        val = NULL;
    189198        val_len = 0;
    190         for (key_len = 0; key_len < len; ++key_len) {
    191             if (s[key_len] == '=') {
    192                 if (key_len + 1 < len) {
     199        for (key_len = 0; key_len < len; ++key_len)
     200        {
     201            if (s[key_len] == '=')
     202            {
     203                if (key_len + 1 < len)
     204                {
    193205                    val = s + key_len + 1;
    194206                    val_len = len - key_len - 1;
     
    198210        }
    199211
    200         for (handler = handlers; handler->name; ++handler) {
     212        for (handler = handlers; handler->name; ++handler)
     213        {
    201214            size_t j;
    202215            for (j = 0; j < key_len && handler->name[j] == s[j]; ++j)
    203216                ;
    204217
    205             if (j == key_len && !handler->name[j]) {
    206                 if (handler->has_arg) {
    207                     if (!(val && *val)) {
     218            if (j == key_len && !handler->name[j])
     219            {
     220                if (handler->has_arg)
     221                {
     222                    if (!(val && *val))
     223                    {
    208224                        panic ("%.*s requires an argument (i.e. %.*s=<arg>)\n",
    209225                               (int)len, s, (int)len, s);
     
    265281                    break;
    266282                case HOIOCHARSET:
    267                     if (val_len + 1 > sizeof (opts->nls_name)) {
     283                    if (val_len + 1 > sizeof (opts->nls_name))
     284                    {
    268285                        panic ("iocharset name too long\n");
    269286                    }
     
    273290                case HOCONVERTCP:
    274291                    opts->convertcp = malloc (val_len + 1);
    275                     if (!opts->convertcp) {
     292                    if (!opts->convertcp)
     293                    {
    276294                        panic_err ("could not allocate memory");
    277295                    }
     
    279297                    opts->convertcp[val_len] = 0;
    280298                    break;
     299                case HONOAUTO:
     300                    break;
    281301                }
    282302                break;
     
    285305        }
    286306
    287         if (!handler->name) {
     307        if (!handler->name)
     308        {
    288309            fprintf (stderr, "unknown mount option `%.*s'\n", (int)len, s);
    289310            fprintf (stderr, "valid options:\n");
    290311
    291             for (handler = handlers; handler->name; ++handler) {
     312            for (handler = handlers; handler->name; ++handler)
     313            {
    292314                if (handler->desc)
    293315                    fprintf (stderr, "  %-10s%s %s\n", handler->name,
     
    374396
    375397    cd = iconv_open ("UTF-8", in_codeset);
    376     if (cd == (iconv_t) -1) {
     398    if (cd == (iconv_t) -1)
     399    {
    377400        panic_err ("could not convert share name, iconv_open `%s' failed",
    378401                   in_codeset);
    379402    }
    380403
    381     while (ib) {
     404    while (ib)
     405    {
    382406        size_t c = iconv (cd, &i, &ib, &o, &ob);
    383         if (c == (size_t) -1) {
     407        if (c == (size_t) -1)
     408        {
    384409            panic_err ("could not convert share name(%s) at %d",
    385410                       host_name, (int)(strlen (host_name) - ib));
     
    469494    CT_ASSERT(sizeof(gid_t) == sizeof(int));
    470495
    471     while ((c = getopt (argc, argv, "rwno:h")) != -1) {
    472         switch (c) {
     496    while ((c = getopt (argc, argv, "rwno:h")) != -1)
     497    {
     498        switch (c)
     499        {
    473500            default:
    474501                fprintf (stderr, "unknown option `%c:%#x'\n", c, c);
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette