| 545 | } |
| 546 | |
| 547 | static apr_status_t pfs_is_newer(void *baton, apr_pool_t *p, apr_pool_t *ptemp, va_list ap) |
| 548 | { |
| 549 | md_store_fs_t *s_fs = baton; |
| 550 | const char *fname1, *fname2, *name, *aspect; |
| 551 | md_store_group_t group1, group2; |
| 552 | apr_finfo_t inf1, inf2; |
| 553 | int *pnewer; |
| 554 | apr_status_t rv; |
| 555 | |
| 556 | (void)p; |
| 557 | group1 = (md_store_group_t)va_arg(ap, int); |
| 558 | group2 = (md_store_group_t)va_arg(ap, int); |
| 559 | name = va_arg(ap, const char*); |
| 560 | aspect = va_arg(ap, const char*); |
| 561 | pnewer = va_arg(ap, int*); |
| 562 | |
| 563 | *pnewer = 0; |
| 564 | if ( MD_OK(fs_get_fname(&fname1, &s_fs->s, group1, name, aspect, ptemp)) |
| 565 | && MD_OK(fs_get_fname(&fname2, &s_fs->s, group2, name, aspect, ptemp)) |
| 566 | && MD_OK(apr_stat(&inf1, fname1, APR_FINFO_MTIME, ptemp)) |
| 567 | && MD_OK(apr_stat(&inf2, fname2, APR_FINFO_MTIME, ptemp))) { |
| 568 | *pnewer = inf1.mtime > inf2.mtime; |
| 569 | } |
| 570 | |
| 571 | return rv; |
| 572 | } |
| 573 | |
| 574 | static int fs_is_newer(md_store_t *store, md_store_group_t group1, md_store_group_t group2, |
| 575 | const char *name, const char *aspect, apr_pool_t *p) |
nothing calls this directly
no test coverage detected