Changeset 2160


Ignore:
Timestamp:
Aug 23, 2012, 3:31:56 PM (6 years ago)
Author:
matthijs
Message:

mountd: Restructure mount name generation.

This makes the code a bit more logical and allows using single-character
folder names (though "1" and "0" still have a special meaning).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/fon/mountd/src/lib/mount.c

    r2159 r2160  
    799799                if(!s)
    800800                        return;
     801
    801802                snprintf(tmp, 64, "part%s", &dev[3]);
    802                 snprintf(node, 64, "Disc-%s", &dev[2]);
    803                 if(node[5] >= 'a' && node[5] <= 'z')
    804                 {
    805                         node[5] -= 'a';
    806                         node[5] += 'A';
    807                 }
    808803                ctx = uci_init("mountd");
    809804                p = uci_get_option(ctx, s, tmp);
    810805                uci_cleanup(ctx);
    811                 if(p)
    812                 {
    813                         if(strlen(p) == 1)
     806                /* Find out the name for the symlnk */
     807                if(!p || p[0] == '1' && p[1] == '\0')
     808                {
     809                        /* No setting found, or set to "1" -> Make up a name*/
     810                        snprintf(node, 64, "Disc-%s", &dev[2]);
     811                        if(node[5] >= 'a' && node[5] <= 'z')
    814812                        {
    815                                 if(*p == '0')
    816                                         ignore = 1;
    817                         } else {
    818                                 snprintf(node, 64, "%s", p);
     813                                node[5] -= 'a';
     814                                node[5] += 'A';
    819815                        }
    820816                }
     817                else if(p[0] == '0' && p[1] == '\0')
     818                {
     819                        /* Set to "0" -> ignore partition */
     820                        ignore = 1;
     821                } else {
     822                        /* Set to a specific name -> use that name */
     823                        snprintf(node, 64, "%s", p);
     824                }
     825
    821826                strcpy(name, dev);
    822827                name[3] = '\0';
Note: See TracChangeset for help on using the changeset viewer.