summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Hopf <mhopf@suse.de>2009-07-01 12:55:42 +0200
committerMatthias Hopf <mhopf@suse.de>2009-07-01 12:55:42 +0200
commit8d88c2bf5b515fc87baee5e9c49e6f9a105912c1 (patch)
treef756b55f801e80b81c78ad4d3f90205dd4358c2f
parentb8e5af57e1bb905d8bb9513be6532aeb0da33bf0 (diff)
Fix table list crash introduced by last commit.
-rw-r--r--atombios_rev.h2
-rw-r--r--main.c6
2 files changed, 4 insertions, 4 deletions
diff --git a/atombios_rev.h b/atombios_rev.h
index 5d1403e..70e257d 100644
--- a/atombios_rev.h
+++ b/atombios_rev.h
@@ -64,7 +64,7 @@ typedef struct _ATOM_POWERUNKNOWN_INFO_V4
#pragma offset ATOM_POWERPLAY_INFO_V4 asPowerModeInfo *(data + _U16(d->OffsetPowerModeEntries) + i*d->SizeOfPowerModeEntry)
#pragma count ATOM_POWERPLAY_INFO_V4 asPowerUnknownInfo ((d->sHeader.usStructureSize - _U16(d->OffsetPowerUnknownEntries)) / d->SizeOfPowerUnknownEntry)
#pragma offset ATOM_POWERPLAY_INFO_V4 asPowerUnknownInfo *(data + _U16(d->OffsetPowerUnknownEntries) + i*d->SizeOfPowerUnknownEntry)
-#pragma return ATOM_POWERPLAY_INFO_V4 - (_U16(d->OffsetPowerUnknownEntries) + ((d->sHeader.usStructureSize - _U16(d->OffsetPowerUnknownEntries)) / d->SizeOfPowerUnknownEntry)*d->SizeOfPowerUnknownEntry)
+#pragma return ATOM_POWERPLAY_INFO_V4 - (d ? (_U16(d->OffsetPowerUnknownEntries) + ((d->sHeader.usStructureSize - _U16(d->OffsetPowerUnknownEntries)) / d->SizeOfPowerUnknownEntry)*d->SizeOfPowerUnknownEntry) : 0)
typedef struct _ATOM_POWERPLAY_INFO_V4
{
diff --git a/main.c b/main.c
index 829477e..607ab10 100644
--- a/main.c
+++ b/main.c
@@ -458,7 +458,7 @@ void do_info (bios_tables_t *tabs)
void do_list (bios_tables_t *tabs)
{
- int i;
+ int i, len;
const char *ind;
fputs ("Command Tables:\n", stdout);
@@ -489,8 +489,8 @@ void do_list (bios_tables_t *tabs)
fprintf (stdout, " %04x: - ", i);
if ( (ind = get_index (INDEX_DATA_TABLE, i)) )
fprintf (stdout, " (%s)", ind);
- if (dt)
- fprintf (stdout, " (struct size %04x)", (*dt) (NULL, NULL, 0));
+ if (dt && (len = (*dt) (NULL, NULL, 0)) )
+ fprintf (stdout, " (struct size %04x)", len);
putc ('\n', stdout);
}
putc ('\n', stdout);