- if (val = getoption(obj->iniconfig, section, "vol options", preset)) {
- q = strdup(val);
- if (p = strtok(q, ", ")) {
- while (p) {
- if (strcasecmp(p, "ro") == 0)
- volume->v_flags |= AFPVOL_RO;
- else if (strcasecmp(p, "nohex") == 0)
- volume->v_flags |= AFPVOL_NOHEX;
- else if (strcasecmp(p, "nousedots") == 0)
- volume->v_flags &= ~AFPVOL_USEDOTS;
- else if (strcasecmp(p, "invisibledots") == 0)
- volume->v_flags |= volume->v_flags;
- else if (strcasecmp(p, "nostat") == 0)
- volume->v_flags |= AFPVOL_NOSTAT;
- else if (strcasecmp(p, "noupriv") == 0)
- volume->v_flags &= ~AFPVOL_UNIX_PRIV;
- else if (strcasecmp(p, "nodev") == 0)
- volume->v_flags |= AFPVOL_NODEV;
- else if (strcasecmp(p, "caseinsensitive") == 0)
- volume->v_flags |= AFPVOL_CASEINSEN;
- else if (strcasecmp(p, "illegalseq") == 0)
- volume->v_flags |= AFPVOL_EILSEQ;
- else if (strcasecmp(p, "tm") == 0)
- volume->v_flags |= AFPVOL_TM;
- else if (strcasecmp(p, "searchdb") == 0)
- volume->v_flags |= AFPVOL_SEARCHDB;
- else if (strcasecmp(p, "nonetids") == 0)
- volume->v_flags |= AFPVOL_NONETIDS;
- else if (strcasecmp(p, "noacls") == 0)
- volume->v_flags &= ~AFPVOL_ACLS;
- else if (strcasecmp(p, "nov2toeaconv") == 0)
- volume->v_flags |= AFPVOL_NOV2TOEACONV;
- else if (strcasecmp(p, "preexec_close") == 0)
- volume->v_preexec_close = 1;
- else if (strcasecmp(p, "root_preexec_close") == 0)
- volume->v_root_preexec_close = 1;
- p = strtok(NULL, ", ");
- }
- }
- free(q);
- }
+ if (getoption_bool(obj->iniconfig, section, "read only", preset, 0))
+ volume->v_flags |= AFPVOL_RO;
+ if (getoption_bool(obj->iniconfig, section, "invisible dots", preset, 0))
+ volume->v_flags |= AFPVOL_INV_DOTS;
+ if (!getoption_bool(obj->iniconfig, section, "stat vol", preset, 1))
+ volume->v_flags |= AFPVOL_NOSTAT;
+ if (getoption_bool(obj->iniconfig, section, "unix priv", preset, 1))
+ volume->v_flags |= AFPVOL_UNIX_PRIV;
+ if (!getoption_bool(obj->iniconfig, section, "cnid dev", preset, 1))
+ volume->v_flags |= AFPVOL_NODEV;
+ if (getoption_bool(obj->iniconfig, section, "illegal seq", preset, 0))
+ volume->v_flags |= AFPVOL_EILSEQ;
+ if (getoption_bool(obj->iniconfig, section, "time machine", preset, 0))
+ volume->v_flags |= AFPVOL_TM;
+ if (getoption_bool(obj->iniconfig, section, "search db", preset, 0))
+ volume->v_flags |= AFPVOL_SEARCHDB;
+ if (!getoption_bool(obj->iniconfig, section, "network ids", preset, 1))
+ volume->v_flags |= AFPVOL_NONETIDS;
+#ifdef HAVE_ACLS
+ if (getoption_bool(obj->iniconfig, section, "acls", preset, 1))
+ volume->v_flags |= AFPVOL_ACLS;
+#endif
+ if (!getoption_bool(obj->iniconfig, section, "convert adouble", preset, 1))
+ volume->v_flags |= AFPVOL_NOV2TOEACONV;
+
+ if (getoption_bool(obj->iniconfig, section, "preexec close", preset, 0))
+ volume->v_preexec_close = 1;
+ if (getoption_bool(obj->iniconfig, section, "root preexec close", preset, 0))
+ volume->v_root_preexec_close = 1;