+/* fallback for EAs */
+static const struct entry entry_order_osx[ADEID_NUM_OSX +1] = {
+ {ADEID_FINDERI, ADEDOFF_FINDERI_OSX, ADEDLEN_FINDERI},
+ {ADEID_RFORK, ADEDOFF_RFORK_OSX, ADEDLEN_INIT},
+ {0, 0, 0}
+};
+
+#define ADFLAGS2LOGSTRBUFSIZ 128
+const char *adflags2logstr(int adflags)
+{
+ int first = 1;
+ static char buf[ADFLAGS2LOGSTRBUFSIZ];
+
+ buf[0] = 0;
+
+ if (adflags & ADFLAGS_DF) {
+ strlcat(buf, "DF", ADFLAGS2LOGSTRBUFSIZ);
+ first = 0;
+ }
+ if (adflags & ADFLAGS_RF) {
+ if (!first)
+ strlcat(buf, "|", ADFLAGS2LOGSTRBUFSIZ);
+ strlcat(buf, "RF", ADFLAGS2LOGSTRBUFSIZ);
+ first = 0;
+ }
+ if (adflags & ADFLAGS_NORF) {
+ if (!first)
+ strlcat(buf, "|", ADFLAGS2LOGSTRBUFSIZ);
+ strlcat(buf, "NORF", ADFLAGS2LOGSTRBUFSIZ);
+ first = 0;
+ }
+ if (adflags & ADFLAGS_HF) {
+ if (!first)
+ strlcat(buf, "|", ADFLAGS2LOGSTRBUFSIZ);
+ strlcat(buf, "HF", ADFLAGS2LOGSTRBUFSIZ);
+ first = 0;
+ }
+ if (adflags & ADFLAGS_NOHF) {
+ if (!first)
+ strlcat(buf, "|", ADFLAGS2LOGSTRBUFSIZ);
+ strlcat(buf, "NOHF", ADFLAGS2LOGSTRBUFSIZ);
+ first = 0;
+ }
+ if (adflags & ADFLAGS_DIR) {
+ if (!first)
+ strlcat(buf, "|", ADFLAGS2LOGSTRBUFSIZ);
+ strlcat(buf, "DIR", ADFLAGS2LOGSTRBUFSIZ);
+ first = 0;
+ }
+ if (adflags & ADFLAGS_CHECK_OF) {
+ if (!first)
+ strlcat(buf, "|", ADFLAGS2LOGSTRBUFSIZ);
+ strlcat(buf, "OF", ADFLAGS2LOGSTRBUFSIZ);
+ first = 0;
+ }
+ if (adflags & ADFLAGS_SETSHRMD) {
+ if (!first)
+ strlcat(buf, "|", ADFLAGS2LOGSTRBUFSIZ);
+ strlcat(buf, "SHRMD", ADFLAGS2LOGSTRBUFSIZ);
+ first = 0;
+ }
+ if (adflags & ADFLAGS_RDWR) {
+ if (!first)
+ strlcat(buf, "|", ADFLAGS2LOGSTRBUFSIZ);
+ strlcat(buf, "O_RDWR", ADFLAGS2LOGSTRBUFSIZ);
+ first = 0;
+ }
+ if (adflags & ADFLAGS_RDONLY) {
+ if (!first)
+ strlcat(buf, "|", ADFLAGS2LOGSTRBUFSIZ);
+ strlcat(buf, "O_RDONLY", ADFLAGS2LOGSTRBUFSIZ);
+ first = 0;
+ }
+ if (adflags & ADFLAGS_CREATE) {
+ if (!first)
+ strlcat(buf, "|", ADFLAGS2LOGSTRBUFSIZ);
+ strlcat(buf, "O_CREAT", ADFLAGS2LOGSTRBUFSIZ);
+ first = 0;
+ }
+ if (adflags & ADFLAGS_EXCL) {
+ if (!first)
+ strlcat(buf, "|", ADFLAGS2LOGSTRBUFSIZ);
+ strlcat(buf, "O_EXCL", ADFLAGS2LOGSTRBUFSIZ);
+ first = 0;
+ }
+ if (adflags & ADFLAGS_TRUNC) {
+ if (!first)
+ strlcat(buf, "|", ADFLAGS2LOGSTRBUFSIZ);
+ strlcat(buf, "O_TRUNC", ADFLAGS2LOGSTRBUFSIZ);
+ first = 0;
+ }
+
+ return buf;
+}
+