21c19df3ed
same name. Appeases gcc4
84 lines
1.8 KiB
Plaintext
84 lines
1.8 KiB
Plaintext
$OpenBSD: patch-lib_fs_c,v 1.2 2010/05/19 13:45:15 espie Exp $
|
|
--- lib/fs.c.orig Wed Jun 14 14:34:30 2000
|
|
+++ lib/fs.c Wed May 19 13:05:05 2010
|
|
@@ -3,6 +3,73 @@
|
|
#include <rpmlib.h>
|
|
#include <rpmmacro.h>
|
|
|
|
+#ifdef __OpenBSD__
|
|
+#ifdef __aix__
|
|
+#define COMMENTCHAR '*'
|
|
+#else
|
|
+#define COMMENTCHAR '#'
|
|
+#endif
|
|
+
|
|
+#if HAVE_STRUCT_MNTTAB
|
|
+static our_mntent * getmntent(FILE *filep) {
|
|
+ static struct mnttab entry;
|
|
+ static our_mntent item;
|
|
+
|
|
+ if (!fread(&entry, sizeof(entry), 1, filep)) return NULL;
|
|
+ item.our_mntdir = entry.mt_filsys;
|
|
+
|
|
+ return &item;
|
|
+}
|
|
+#else
|
|
+#define getmntent internal_getmntent
|
|
+static our_mntent *getmntent(FILE *filep) {
|
|
+ static our_mntent item = { NULL };
|
|
+ char buf[1024], * start;
|
|
+ char * chptr;
|
|
+
|
|
+ if (item.our_mntdir) {
|
|
+ free(item.our_mntdir);
|
|
+ }
|
|
+
|
|
+ while (fgets(buf, sizeof(buf) - 1, filep)) {
|
|
+ /* chop off \n */
|
|
+ buf[strlen(buf) - 1] = '\0';
|
|
+
|
|
+ chptr = buf;
|
|
+ while (isspace(*chptr)) chptr++;
|
|
+
|
|
+ if (*chptr == COMMENTCHAR) continue;
|
|
+
|
|
+# if __aix__
|
|
+ /* aix uses a screwed up file format */
|
|
+ if (*chptr == '/') {
|
|
+ start = chptr;
|
|
+ while (*chptr != ':') chptr++;
|
|
+ *chptr = '\0';
|
|
+ item.mnt_dir = strdup(start);
|
|
+ return &item;
|
|
+ }
|
|
+# else
|
|
+ while (!isspace(*chptr) && (*chptr)) chptr++;
|
|
+ if (!*chptr) return NULL;
|
|
+
|
|
+ while (isspace(*chptr) && (*chptr)) chptr++;
|
|
+ if (!*chptr) return NULL;
|
|
+ start = chptr;
|
|
+
|
|
+ while (!isspace(*chptr) && (*chptr)) chptr++;
|
|
+ *chptr = '\0';
|
|
+
|
|
+ item.our_mntdir = strdup(start);
|
|
+ return &item;
|
|
+# endif
|
|
+ }
|
|
+
|
|
+ return NULL;
|
|
+}
|
|
+#endif
|
|
+#endif
|
|
+
|
|
struct fsinfo {
|
|
/*@only@*/ const char * mntPoint;
|
|
dev_t dev;
|
|
@@ -301,3 +368,5 @@ int rpmGetFilesystemUsage(const char ** fileList, int_
|
|
|
|
return 0;
|
|
}
|
|
+
|
|
+
|