Re: EDITOR with tilde not expanded in git-commit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



merlyn@xxxxxxxxxxxxxx (Randal L. Schwartz) writes:

>>>>>> "Matthieu" == Matthieu Moy <Matthieu.Moy@xxxxxxx> writes:
>
> Matthieu> C does not have tilde expansion or "eval", but it has "system()":
>
> Matthieu> int main () {
> Matthieu>         system("~/bin/scripts/moy-editor.sh foo.txt");
> Matthieu> }
>
> Matthieu> works as you'd expect.
>
> And that's because it forks a /bin/sh to process that.  And your modern
> /bin/sh apparently understands tilde expansion.  *that* wouldn't have worked
> back when /bin/sh was really the bourne shell and not some cheap over-featured
> (read "GNU") clone.

Yes. That's a good reason not to use system() on hardcoded values. I
wouldn't write the line of code above in a real-life program. But
here, the argument of system() comes from the user-configuration. If
he's running on a machine whose shell does tilde expansion, he can use
tilde-expansion in his configuration. On windows, I believe system()
has some windows-specific things, but the user probably expects to be
able to use them if he runs windows.

-- 
Matthieu
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux