Ignore:
Timestamp:
Sep 16, 2013, 6:41:23 PM (12 years ago)
Author:
Herwig Bauernfeind
Message:

Samba Client 2.1: Fix Ticket #227 (updated timestamp during read access)

Location:
branches/client-2.1/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/client-2.1/src/smbwrp.c

    r567 r806  
    620620                return os2cli_errno(cli);
    621621        }
    622         if (file->openmode & (O_WRONLY | O_RDWR | O_TRUNC | O_CREAT))
    623         {
    624                 time_t t;
    625                 file->mtime = time(NULL);
    626 #if 0 // as time() delivers elapsed time in epoch we already have UTC
    627                 t = get_time_zone(file->mtime);
    628                 debuglocal(4,"cli_open mtime %lu %lu\n", file->mtime, t);
    629                 file->mtime -= t;
    630 #endif
    631                 debuglocal(4,"cli_open new mtime %lu\n", file->mtime);
    632         }
     622        file->newmtime = 0;
    633623        file->offset = 0;
    634624        return 0;
     
    681671        }
    682672
     673        file->newmtime = 1;
    683674        file->offset += ret;
    684675        *result = ret;
     
    702693                return os2cli_errno(cli);
    703694        }
     695        if (file->newmtime)
     696        {
     697                file->mtime = time(NULL);
     698                debuglocal(4,"cli_close new mtime %lu\n", file->mtime);
     699        }
    704700        file->fd = -1;
    705701        file->offset = 0;
     
    709705                if (!cli_setatr(cli, file->fname, file->openattr, file->mtime))
    710706                {
     707                        file->newmtime = 0;
    711708                        debuglocal(4,"Set attr on close failed %d\n", os2cli_errno(cli));
    712709                        //rc = os2cli_errno(cli);
    713                 }       
     710                }
     711               
    714712                file->openattr = 0;
    715713                file->mtime = 0;
  • branches/client-2.1/src/smbwrp.h

    r521 r806  
    9191        int denymode;
    9292        unsigned long mtime;
     93        int newmtime;
    9394        char fullname[261];
    9495        char fname[261];
Note: See TracChangeset for help on using the changeset viewer.