/*
- * $Id: ad_size.c,v 1.5 2002-10-11 14:18:38 didg Exp $
+ * $Id: ad_size.c,v 1.8 2010-02-26 14:13:16 didg Exp $
*
* Copyright (c) 1997 Adrian Sun (asun@zoology.washington.edu)
* All rights reserved. See COPYRIGHT.
#include "config.h"
#endif /* HAVE_CONFIG_H */
-#include <stdio.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif /* HAVE_UNISTD_H */
-#include <sys/types.h>
-#include <sys/stat.h>
+#include <string.h>
#include <atalk/logger.h>
-
#include <atalk/adouble.h>
-off_t ad_size(const struct adouble *ad, const u_int32_t eid)
+off_t ad_size(const struct adouble *ad, const uint32_t eid)
{
if (eid == ADEID_DFORK) {
struct stat st;
-
- if (fstat(ad_dfileno(ad), &st) < 0)
+
+ if (ad->ad_data_fork.adf_syml)
+ return strlen(ad->ad_data_fork.adf_syml);
+
+ if (fstat(ad_data_fileno(ad), &st) < 0)
return 0;
return st.st_size;
}