aboutsummaryrefslogtreecommitdiff
path: root/src/floppy.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/floppy.c')
-rw-r--r--src/floppy.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/floppy.c b/src/floppy.c
index d2e689c..a8942cf 100644
--- a/src/floppy.c
+++ b/src/floppy.c
@@ -96,9 +96,12 @@ addFloppy(int floppyid, int ftype, int driver)
return NULL;
}
+ char *desc = malloc_tmp(MAXDESCSIZE);
struct drive_s *drive_g = malloc_fseg(sizeof(*drive_g));
- if (!drive_g) {
+ if (!drive_g || !desc) {
warn_noalloc();
+ free(desc);
+ free(drive_g);
return NULL;
}
memset(drive_g, 0, sizeof(*drive_g));
@@ -107,6 +110,8 @@ addFloppy(int floppyid, int ftype, int driver)
drive_g->blksize = DISK_SECTOR_SIZE;
drive_g->floppy_type = ftype;
drive_g->sectors = (u64)-1;
+ drive_g->desc = desc;
+ snprintf(desc, MAXDESCSIZE, "drive %c", 'A' + floppyid);
memcpy(&drive_g->lchs, &FloppyInfo[ftype].chs
, sizeof(FloppyInfo[ftype].chs));
@@ -116,12 +121,6 @@ addFloppy(int floppyid, int ftype, int driver)
}
void
-describe_floppy(struct drive_s *drive_g)
-{
- printf("drive %c", 'A' + drive_g->cntl_id);
-}
-
-void
floppy_setup(void)
{
if (! CONFIG_FLOPPY)