This is the mail archive of the cygwin mailing list for the Cygwin project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 2/9/2014 11:16 AM, Corinna Vinschen wrote:
On Feb 9 17:10, Corinna Vinschen wrote:On Feb 9 08:45, Warren Young wrote:On Feb 7, 2014, at 10:51 AM, Warren Young <warren@etr-usa.com> wrote:Here's a better check that doesn't give false positives: $ cat <<END > checkfile #!/bin/sh if egrep -q '_getgrent(32|64)' "$1" ; then echo $1 ; fi END $ find /bin -name \*.exe -exec ./checkfile {} \;The strings(1) call got left out of that test. Hereâs a working variant, which tests for getpwent() calls instead: $ cat <<END > checkfile if strings "$1" | egrep -q '^getpwent$' ; then echo $1 ; fi END $ find /bin -name \*.exe -exec sh checkfile {} \; Alas, Vim *does* call this API. Results:It does so to evaluate a ~user in a path and I guess that's what other apps do as well. This is kind of weird since it would obviously not be necessary to enumerate accounts for this functionality: if (~ in path) if (~ is solo) getpwuid(getuid ()) else getpwname (username after the ~);Huh, even though tcsh calls getpwent as well, this works fine: $ cd ~foo with foo being some not yet cached user name. However, with my current code this: $ cd ~<TAB> only returns the cached user entries.
emacs uses getpwent (on systems that provide it) for a similar reason: to provide tab completion on commands that expect a user name.
Ken -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |