Loading...
--- Libc/Libc-262/gen/disklabel.c
+++ Libc/Libc-1583.60.2/gen/disklabel.c
@@ -1,21 +1,22 @@
/*
- * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 1999, 2008 Apple Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
- * The contents of this file constitute Original Code as defined in and
- * are subject to the Apple Public Source License Version 1.1 (the
- * "License"). You may not use this file except in compliance with the
- * License. Please obtain a copy of the License at
- * http://www.apple.com/publicsource and read it before using this file.
+ * This file contains Original Code and/or Modifications of Original Code
+ * as defined in and that are subject to the Apple Public Source License
+ * Version 2.0 (the 'License'). You may not use this file except in
+ * compliance with the License. Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this
+ * file.
*
- * This Original Code and all software distributed under the License are
- * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * The Original Code and all software distributed under the License are
+ * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
- * License for the specific language governing rights and limitations
- * under the License.
+ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+ * Please see the License for the specific language governing rights and
+ * limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
@@ -57,8 +58,9 @@
#include <sys/time.h>
#define DKTYPENAMES
#include <sys/disklabel.h>
-#include <ufs/ufs/dinode.h>
-#include <ufs/ffs/fs.h>
+/* from ufs/ffs/fs.h */
+#define BBSIZE 8192
+#define SBSIZE 8192
#include <errno.h>
#include <fcntl.h>
@@ -68,16 +70,19 @@
#include <unistd.h>
#include <ctype.h>
-static int error __P((int));
-static int gettype __P((char *, char **));
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wcomma"
+
+#ifdef unused
+static int error(int);
+#endif // unused
+static int gettype(const char *, const char **);
struct disklabel *
-getdiskbyname(name)
- const char *name;
+getdiskbyname(const char *name)
{
- static struct disklabel disk;
- register struct disklabel *dp = &disk;
- register struct partition *pp;
+ static struct disklabel *dp = NULL;
+ struct partition *pp;
char *buf;
char *db_array[2] = { _PATH_DISKTAB, 0 };
char *cp, *cq; /* can't be register */
@@ -88,7 +93,14 @@
if (cgetent(&buf, db_array, (char *) name) < 0)
return NULL;
- bzero((char *)&disk, sizeof(disk));
+ if (dp == NULL) {
+ dp = malloc(sizeof(struct disklabel));
+ if (dp == NULL) {
+ return NULL;
+ }
+ }
+ memset(dp, 0, sizeof(struct disklabel));
+
/*
* typename
*/
@@ -112,7 +124,7 @@
dp->d_flags |= D_BADSECT;
#define getnumdflt(field, dname, dflt) \
- { long f; (field) = (cgetnum(buf, dname, &f) == -1) ? (dflt) : f; }
+ { long f; (field) = (typeof(field))((cgetnum(buf, dname, &f) == -1) ? (dflt) : f); }
getnumdflt(dp->d_secsize, "se", DEV_BSIZE);
cgetnum(buf, "nt",(long *) &dp->d_ntracks);
@@ -175,20 +187,19 @@
}
static int
-gettype(t, names)
- char *t;
- char **names;
+gettype(const char *t, const char **names)
{
- register char **nm;
+ const char **nm;
for (nm = names; *nm; nm++)
if (strcasecmp(t, *nm) == 0)
- return (nm - names);
+ return (int)(nm - names);
if (isdigit(*t))
return (atoi(t));
return (0);
}
+#ifdef unused
static int
error(err)
int err;
@@ -202,3 +213,6 @@
(void)write(STDERR_FILENO, p, strlen(p));
(void)write(STDERR_FILENO, "\n", 1);
}
+#endif // unused
+#pragma clang diagnostic pop
+