libpkgconf/argvsplit.c


Log

Author Commit Date CI Message
Ariadne Conill be0d8119 2023-01-21T19:51:24 argvsplit: fix some quoting rules to match POSIX
Ziemowit Łąski 1c3f2461 2022-11-22T12:29:09 pkgconf: Handle spaces correctly when expanding variables Given the following .pc fragment: includedir=/mingw64/include Cflags: -I${includedir} -I${includedir}/taglib Should includedir be assigned the value 'C:/Program\ Files/Git/mingw64/include', the expansion of ${includedir} will be chopped off after the first space: Cflags: -IC:/Program\ With this patch, the expansion is corrected: Cflags: -IC:/Program\ Files/Git/mingw64/include -IC:/Program\ Files/Git/mingw64/include/taglib Create spaces-in-paths.pc
Vincent Torri 42b35531 2020-05-30T12:39:43 fix missing backslashes in paths on Windows According to https://docs.microsoft.com/fr-fr/windows/win32/fileio/naming-a-file backslashes (with slashes) are a path separator, hence must no be considered as an escape code. The first fix, in argvsplit.c, disables this. But because of fragment_quote(), the backslashes are doubled. Hence the second fix in fragment.c With this pc file : prefix=C:/Documents/msys2/opt/efl_64 libdir=${prefix}/lib includedir=${prefix}/include Name: eina Description: efl: eina Version: 1.24.99 Requires.private: iconv Libs: -L${libdir} -leina -pthread -levil Libs.private: -lpsapi -lole32 -lws2_32 -lsecur32 -luuid -lregex -lm Cflags:-I${includedir}/eina-1 -I${includedir}/efl-1 -I${includedir}/eina-1/eina -pthread pkgconf.exe --cflags eina returns : -IC:\Documents\msys2\opt\efl_64/include/eina-1 -IC:\Documents\msys2\opt\efl_64/include/efl-1 -IC:\Documents\msys2\opt\efl_64/include/eina-1/eina -pthread -DWINICONV_CONST= -IC:\Documents\msys2\opt\ewpi_64/include
William Pitcock cf96c562 2017-12-14T22:41:14 libpkgconf: argvsplit: fix escape handling in tokenizer (closes #163)
William Pitcock 278a2bd6 2017-12-11T18:25:55 libpkgconf: fragment: rework quoting and lexing (closes #139, #153) we now use POSIX-style quoting for all fragments. it is our belief that this is the most optimal behaviour for portability, because all POSIX-compliant tools require single-quotes to be considered as literal (closes #153). because of this, we are able to remove some hacks on the lexer side which were there to simulate pkg-config quoting, but were basically utterly wrong (closes #139).
William Pitcock fae65710 2017-09-23T00:24:34 libpkgconf: argvsplit: handle double backslash case properly (closes #140)
William Pitcock e9fd43ca 2017-09-17T23:38:25 libpkgconf: clean up header includes (closes #137)
William Pitcock 6e643aa4 2017-03-29T18:00:57 libpkgconf: hopefully the last necessary tweak to quoting...
William Pitcock ae42261c 2017-02-25T15:04:08 argvsplit: refactor splitting state machine
William Pitcock d558e30a 2017-02-07T10:24:54 libpkgconf: argvsplit: quoting logic was simplified too much
William Pitcock fe40bc33 2017-02-03T12:53:50 libpkgconf: argvsplit: do not consider ' or " to be equivalent to \ (#111)
William Pitcock 67796a1d 2017-01-22T23:04:01 libpkgconf: argvsplit: make escape handling more explicit
William Pitcock 828c2902 2016-12-10T18:56:09 libpkgconf: document argvsplit module
Baptiste Daroussin 7898b829 2015-12-02T12:50:04 Correctly cast ctypes function input to unsigned int This fixes issues found by building on NetBSD which is more pedantic about thoses cases. Reported by: Thomas Klausner (wiz at NetBSD)
William Pitcock abbd6b06 2015-09-27T16:07:06 Revert "Merge pull request #81 from dankegel/quotefest" This reverts commit 42551f6364ab0e024e68ed03ef39c9688140fc88, reversing changes made to 938bb9e694c6d377bad29a0fa6856d6ce98c8033.
Dan Kegel d0bbc686 2015-09-10T16:49:52 Add tests for libraries quoted with double quotes, make them pass
William Pitcock b17f2640 2015-09-06T10:48:24 libpkgconf: move some utility funcs into pkgconf_ namespace
William Pitcock a706b3dc 2015-09-06T09:35:08 initial libtoolization for libpkgconf