[syslinux:master] chain: Extra comments; shrink the new space to minimum

syslinux-bot for Gene Cumm gene.cumm at gmail.com
Sun Aug 1 14:57:26 PDT 2010


Commit-ID:  17cdc1e604dbed3c7a5aefc37a3fb303c539225e
Gitweb:     http://syslinux.zytor.com/commit/17cdc1e604dbed3c7a5aefc37a3fb303c539225e
Author:     Gene Cumm <gene.cumm at gmail.com>
AuthorDate: Sun, 1 Aug 2010 12:55:27 -0400
Committer:  Gene Cumm <gene.cumm at gmail.com>
CommitDate: Sun, 1 Aug 2010 13:02:35 -0400

chain: Extra comments; shrink the new space to minimum



---
 com32/modules/chain.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/com32/modules/chain.c b/com32/modules/chain.c
index 15c181c..6a5b115 100644
--- a/com32/modules/chain.c
+++ b/com32/modules/chain.c
@@ -1705,12 +1705,12 @@ int main(int argc, char *argv[])
 	}
 
 	if (opt.drmk) {
-	    /* DRMK entry is different */
+	    /* DRMK entry is different than MS-DOS/PC-DOS */
 	    /*
-	     * A new size, aligned to 16 bytes, with one full extra row to
-	     * guarantee the needed space and ease other values.
+	     * A new size, aligned to 16 bytes to ease use of ds:[bp+28].
+	     * We only really need 4 new, usable bytes at the end.
 	     */
-	    int tsize = (data[ndata].size + 31) & 0xfffffff0;
+	    int tsize = (data[ndata].size + 19) & 0xfffffff0;
 	    regs.ss = regs.fs = regs.gs = 0;	/* Used before initialized */
 	    if (!realloc(data[ndata].data, tsize)) {
 		error("Failed to realloc for DRMK\n");
@@ -1719,7 +1719,7 @@ int main(int argc, char *argv[])
 	    data[ndata].size = tsize;
 	    /* ds:[bp+28] must be 0x0000003f */
 	    regs.ds = (tsize >> 4) + (opt.seg - 2);
-	    /* "Patch" into the extra row */
+	    /* "Patch" into tail of the new space */
 	    *(int *)(data[ndata].data + tsize - 4) = 0x0000003f;
 	}
 



More information about the Syslinux-commits mailing list