This is the mail archive of the cygwin-patches 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 Mon, 24 Jul 2006, Corinna Vinschen wrote:
> On Jul 21 20:52, Igor Peshansky wrote:
> > In any case, here's the latest incarnation, with get_word and get_dword
> > folded into path.cc, and display_error returned to cygcheck.cc, where it
> > belongs. Tested reasonably well (with symlinks pointing to symlinks,
> > etc). I'll let you judge the neatness of the ChangeLog entry. If I'm
> > lucky, this might just get into 1.5.21[*].
> > Igor
> > [*] Corinna, I'm guessing this is sufficiently different that you can't
> > accept it without "the fax" -- I'll keep pinging the guy who's holding
> > this up, but this message is also supposed to confirm that there is a
> > working patch, and the delay is simply bureaucratic. Oh, the
> > frustration... If you judge the changes from the previous incarnation
> > to not be significant, just go ahead and apply this, given the previous
> > approval.
>
> The latest fax was about this change, so I think this should still be
> covered, shouldn't it? Ping the guy nevertheless. We should stay on
> the safe side in legal questions.
>
> I'd be happy to apply the patch, but it would be nice if you could tweak
> the formatting somewhat:
>
> > + if (GetLastError () != NO_ERROR) display_error ("get_dword");
>
> The display_error call should be on its own line, as usual. This
> happens multiple times in your patch.
>
> > + if (is_exe (fh))
> > + dll_info (path, fh, lvl, 1);
> > + else if (is_symlink (fh))
> > + display_error ("track_down: Huh? Got a symlink!");
>
> Is that really the supposed message here?
>
> > + printf (" - Not a DLL: magic number %x (%d) '%s'\n", magic, magic, (char *)&magic);
>
> Please split the printf so that it's not longer than 80 chars.
>
> > + /* TODO: check for invalid path contents (see ../cygwin/path.cc:3313 */
>
> Since source code lines are most volatile, I'd not refer to a line number
> in another source code. Just mention the function name. */
>
> > + if (got != sizeof (buf) || memcmp (buf, SYMLINK_COOKIE, sizeof (buf)) != 0)
>
> Split the line, please.
>
> > + if (SetFilePointer (fh, 0x4c + offset + 4, 0, FILE_BEGIN) == INVALID_SET_FILE_POINTER
>
> Same here.
>
> > + {
> > + return false;
> > + }
>
> I'd rather not have these one liners in curly brackets. It's a bit
> irritating since sometimes you put them in curly brackets, sometimes you
> don't.
>
> The code looks ok, otherwise.
Looks like I've been remiss in following up on this, though I regenerated
the patch that same day. Attached is the new version of the patch. I
believe "the fax" (the new one) has been sent, but I've received no
notification of that, presumably because Corinna is not around...
Igor
==============================================================================
ChangeLog:
2006-09-28 Igor Peshansky <pechtcha@cs.nyu.edu>
* cygcheck.cc (get_word, get_dword): Move to path.cc.
(LINK_EXTENSION): New macro.
(check_existence): New static function.
(find_on_path): Check for symbolic links if asked.
(dll_info): New error handling.
(track_down): Only call dll_info() for executables, display
an error for symlinks, and print magic number for others.
(find_app_on_path): New static function.
(cygcheck, dump_sysinfo): Call find_app_on_path() instead of
find_on_path().
* path.cc (cmp_shortcut_header): New static function.
(get_word, get_dword): Moved from cygcheck.cc.
(EXE_MAGIC, SHORTCUT_MAGIC, SYMLINK_COOKIE, SYMLINK_MAGIC): New
macros.
(is_exe, is_symlink, readlink): New functions.
* path.h (is_exe, is_symlink, readlink): Declare.
(get_word, get_dword): Ditto.
--
http://cs.nyu.edu/~pechtcha/
|\ _,,,---,,_ pechtcha@cs.nyu.edu | igor@watson.ibm.com
ZZZzz /,`.-'`' -. ;-;;,_ Igor Peshansky, Ph.D. (name changed!)
|,4- ) )-,_. ,\ ( `'-' old name: Igor Pechtchanski
'---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
"Las! je suis sot... -Mais non, tu ne l'es pas, puisque tu t'en rends compte."
"But no -- you are no fool; you call yourself a fool, there's proof enough in
that!" -- Rostand, "Cyrano de Bergerac"Attachment:
cygcheck-follow-symlinks.patch
Description: Text document
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |