#include <sys/time.h>
#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-
#include <string.h>
#include "wtap.h"
#include "merge.h"
int *err_fileno)
{
int i, j;
- int files_size = in_file_count * sizeof(merge_in_file_t);
+ size_t files_size = in_file_count * sizeof(merge_in_file_t);
merge_in_file_t *files;
- struct stat statb;
+ gint64 size;
files = g_malloc(files_size);
*in_files = files;
*err_fileno = i;
return FALSE;
}
- if (fstat(wtap_fd(files[i].wth), &statb) < 0) {
- *err = errno;
+ size = wtap_file_size(files[i].wth, err);
+ if (size == -1) {
for (j = 0; j <= i; j++)
wtap_close(files[j].wth);
*err_fileno = i;
return FALSE;
}
- files[i].size = statb.st_size;
+ files[i].size = size;
}
return TRUE;
}
* returns TRUE if first argument is earlier than second
*/
static gboolean
-is_earlier(struct timeval *l, struct timeval *r) {
- if (l->tv_sec > r->tv_sec) { /* left is later */
+is_earlier(struct wtap_nstime *l, struct wtap_nstime *r) {
+ if (l->secs > r->secs) { /* left is later */
return FALSE;
- } else if (l->tv_sec < r->tv_sec) { /* left is earlier */
+ } else if (l->secs < r->secs) { /* left is earlier */
return TRUE;
- } else if (l->tv_usec > r->tv_usec) { /* tv_sec equal, l.usec later */
+ } else if (l->nsecs > r->nsecs) { /* tv_sec equal, l.usec later */
return FALSE;
}
/* either one < two or one == two
{
int i;
int ei = -1;
- struct timeval tv = {LONG_MAX, LONG_MAX};
+ struct wtap_nstime tv = { sizeof(time_t) > sizeof(int) ? LONG_MAX : INT_MAX, INT_MAX };
struct wtap_pkthdr *phdr;
/*