[syslinux:master] partiter.c: tone down non-data sanity checks, add comments in ebr helper

syslinux-bot for Michal Soltys soltys at ziu.info
Mon Mar 26 15:03:04 PDT 2012


Commit-ID:  ba95394922810e4257e1238c650b77a28976a146
Gitweb:     http://www.syslinux.org/commit/ba95394922810e4257e1238c650b77a28976a146
Author:     Michal Soltys <soltys at ziu.info>
AuthorDate: Sat, 14 Aug 2010 22:30:35 +0200
Committer:  Michal Soltys <soltys at ziu.info>
CommitDate: Mon, 16 Aug 2010 00:41:44 +0200

partiter.c: tone down non-data sanity checks, add comments in ebr helper

Sanity checks vs. programmer are compiled only with DEBUG.

Signed-off-by: Michal Soltys <soltys at ziu.info>

---
 com32/chain/partiter.c |   21 ++++++++++++++++++---
 1 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/com32/chain/partiter.c b/com32/chain/partiter.c
index 4b76e22..f217c8e 100644
--- a/com32/chain/partiter.c
+++ b/com32/chain/partiter.c
@@ -75,6 +75,7 @@ static struct itertype types[] = {
 const struct itertype * const typedos = types;
 const struct itertype * const typegpt = types+1;
 
+#ifdef DEBUG
 static int inv_type(const void *type)
 {
     int i, cnt = sizeof(types)/sizeof(types[0]);
@@ -84,6 +85,7 @@ static int inv_type(const void *type)
     }
     return -1;
 }
+#endif
 
 static int guid_is0(const struct guid *guid)
 {
@@ -101,8 +103,10 @@ static int iter_ctor(struct part_iter *iter, va_list *args)
 {
     const struct disk_info *di = va_arg(*args, const struct disk_info *);
 
+#ifdef DEBUG
     if (!di)
 	return -1;
+#endif
 
     memcpy(&iter->di, di, sizeof(struct disk_info));
 
@@ -139,8 +143,10 @@ static int iter_dos_ctor(struct part_iter *iter, va_list *args)
 
     mbr = va_arg(*args, const struct disk_dos_mbr *);
 
+#ifdef DEBUG
     if (!mbr)
 	goto out;
+#endif
 
     if (!(iter->data = malloc(sizeof(struct disk_dos_mbr))))
 	goto out;
@@ -181,8 +187,10 @@ static int iter_gpt_ctor(struct part_iter *iter, va_list *args)
     gpth = va_arg(*args, const struct disk_gpt_header *);
     gptl = va_arg(*args, const struct disk_gpt_part_entry *);
 
+#ifdef DEBUG
     if (!gpth || !gptl)
 	goto out;
+#endif
 
     siz = (uint64_t)gpth->part_count * (uint64_t)gpth->part_size;
 
@@ -349,9 +357,9 @@ static int prep_base_ebr(struct part_iter *iter)
 {
     struct disk_dos_part_entry *dp;
 
-    if (iter->sub.dos.bebr_index0 < 0)
+    if (iter->sub.dos.bebr_index0 < 0)	/* if we don't have base extended partition at all */
 	return -1;
-    else if (!iter->sub.dos.bebr_start) {
+    else if (!iter->sub.dos.bebr_start) { /* if not initialized yet */
 	dp = ((struct disk_dos_mbr *)iter->data)->table + iter->sub.dos.bebr_index0;
 
 	iter->sub.dos.bebr_start = dp->start_lba;
@@ -547,12 +555,14 @@ static int gpt_check_hdr_crc(const struct disk_info * const diskinfo, struct dis
 struct part_iter *pi_next(struct part_iter **_iter)
 {
     struct part_iter *iter = *_iter;
+#ifdef DEBUG
     if (!iter)
 	return NULL;
     if (inv_type(iter->type)) {
 	error("This is not a valid iterator.\n");
 	return NULL;
     }
+#endif
     *_iter = iter->type->next(iter);
     return *_iter;
 }
@@ -571,10 +581,12 @@ struct part_iter *pi_new(const struct itertype *type, ...)
     struct part_iter *iter = NULL;
     va_list ap;
 
+#ifdef DEBUG
     if (inv_type(type)) {
 	error("Unknown iterator requested.\n");
 	return NULL;
     }
+#endif
 
     if (!(iter = malloc(sizeof(struct part_iter)))) {
 	error("Couldn't allocate memory for the iterator.\n");
@@ -614,10 +626,13 @@ void *pi_del(struct part_iter **_iter)
 	return NULL;
     iter = *_iter;
 
+#ifdef DEBUG
     if (inv_type(iter->type)) {
 	error("This is not a valid iterator.\n");
 	return NULL;
     }
+#endif
+
     iter->type->dtor(iter);
     free(iter);
     *_iter = NULL;
@@ -663,7 +678,7 @@ struct part_iter *pi_begin(const struct disk_info *di)
 	/* looks like GPT v1.0 */
 	uint64_t gpt_loff;	    /* offset to GPT partition list in sectors */
 	uint64_t gpt_lsiz;	    /* size of GPT partition list in bytes */
-#if DEBUG
+#ifdef DEBUG
 	puts("Looks like a GPT v1.0 disk.");
 	disk_gpt_header_dump(gpth);
 #endif


More information about the Syslinux-commits mailing list