bruns added a comment.

  In D20096#440470 <https://phabricator.kde.org/D20096#440470>, @meven wrote:
  
  > In D20096#440443 <https://phabricator.kde.org/D20096#440443>, @bruns wrote:
  >
  > > I think the regular stat and statx implementations should be merged. This 
requires a little bit of refactoring, but avoids a lot of code duplication.
  >
  >
  > I thought about it, but the two structs have quite some differences, so it 
would require to introduce an intermediary stat struct, which is fine for me.
  >  And then introduce a STAT like macro to wrap either calling statx or 
QL_STAT and mixing and matching stat/statx into the new struct.
  >
  > Do you agree with this course ?
  
  
  You can use trivial inline accessors:
  
    #if HAVE_STATX_BTIME
    static int stat_mode(struct statx buf) { return buf.stx_mode; }
    static int stat_uid(struct statx buf) { return buf.stx_uid; }
    ...
    #else
    static int stat_mode(struct stat buf) { return buf.st_mode; }
    static int stat_uid(struct stat buf) { return buf.st_uid; }
    ...
  
  Better avoid macros and use typesave code
  
  As there are just 2 calls to stat/statx, just use #if/#else. Maybe
  
    #if
    struct statx buff;
    bool statOk = statx(...) == 0;
    #else
    struct stat buff;
    bool statOk = stat(...) == 0;
    #endif
    
    if (statOk) {
    ...

REPOSITORY
  R241 KIO

REVISION DETAIL
  https://phabricator.kde.org/D20096

To: meven, #frameworks, dfaure, fvogt, bruns, broulik
Cc: ngraham, kde-frameworks-devel, michaelh, bruns

Reply via email to