Eu não chequei libgit2 , mas nem git nem vários $PATH
usuários - como a função Glibc execvpe()
e vários shells ( traço , bash ) - suporta qualquer forma de escape - se um nome de diretório contiver um :
, ele simplesmente não poderá ser usado como parte de variáveis de ambiente relacionadas ao caminho.
No Windows, o separador de caminho é ;
- você deve ser capaz de usar PATH_SEP
ou uma constante semelhante para encontrar o valor - e, novamente, o escape não é suportado em lugar algum.
Se o usuário der a você um caminho como /usr/foo:bar
, eles podem estar esperando que ele seja dividido em dois diretórios, então faça isso.