VirtualBox

Changeset 1356 in kBuild


Ignore:
Timestamp:
Dec 3, 2007 1:44:35 AM (17 years ago)
Author:
bird
Message:

Fixed busted --changed implementation. It leaked a handle if the files matched and didn't rewind on mismatch.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kmk/kmkbuiltin/cp_utils.c

    r1309 r1356  
    111111        if (!dne) {
    112112                /* compare the files first if requested */
    113                 if (    changed_only
    114                     &&  cmp_fd_and_file(from_fd, entp->fts_path, to.p_path,
    115                                         1 /* silent */, 0 /* lflag */,
    116                                         0 /* special */)
    117                         == OK_EXIT) {
    118                         return (0);
     113                if (changed_only) {
     114                        if (cmp_fd_and_file(from_fd, entp->fts_path, to.p_path,
     115                                            1 /* silent */, 0 /* lflag */,
     116                                            0 /* special */) == OK_EXIT) {
     117                                close(from_fd);
     118                                return (0);
     119                        }
     120                        if (lseek(from_fd, 0, SEEK_SET) != 0) {
     121                                close(from_fd);
     122                                if ((from_fd = open(entp->fts_path, O_RDONLY | O_BINARY, 0)) == -1) {
     123                                        warn("%s", entp->fts_path);
     124                                        return (1);
     125                                }
     126                        }
    119127                }
    120128
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette