On Thu, Oct 31 2024, David Bremner wrote:

> Ralph Seichter <[email protected]> writes:
>> +     strcmp (key, "database.backup_path") == 0) {
>> +    if (val[0] == '~')
>> +        /* Explicit syntax for "~/some/relative/path" */
>> +        expanded_val = talloc_asprintf (ctx, "%s%s", getenv ("HOME"), 
>> &val[1]);
>
> what should we do if val[1] != '/'?  I think that is what derailed us
> last time. Do we think it's worth checking the passwd database for user
> names? what about things like '~.foo' ?

IMO:
        if (val[0] == '~' && val[1] == '/')

i.e. expand leading ~/ as $HOME/ -- otherwise expand as previously.

Tomi

>> +    else if (val[0] != '/')
>> +        /* Implicit syntax for "some/relative/path" */
>> +        expanded_val = talloc_asprintf (ctx, "%s/%s", getenv ("HOME"), val);
>> +    }
>> +    if (! expanded_val)
>> +    /* Catchall, no special expansion */
>>      expanded_val = talloc_strdup (ctx, val);
>>  
>>      return expanded_val;
>
> If we do decide to make this change, obviously we'll need to update the
> documentation and (maybe less obviously) tests.
_______________________________________________
notmuch mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to