DISK: Enrich ATTACH time error message to include C runtime error text
Standardize format and wording of error reporting messages As discussed in #1064
This commit is contained in:
parent
dcbfba0f9a
commit
a779de82aa
1 changed files with 15 additions and 13 deletions
28
sim_disk.c
28
sim_disk.c
|
@ -2352,9 +2352,9 @@ if (sim_switches & SWMASK ('C')) { /* create new disk conta
|
||||||
sim_quiet = saved_sim_quiet;
|
sim_quiet = saved_sim_quiet;
|
||||||
if (r != SCPE_OK) {
|
if (r != SCPE_OK) {
|
||||||
sim_switches = saved_sim_switches;
|
sim_switches = saved_sim_switches;
|
||||||
return sim_messagef (r, "%s: Can't open copy source: %s - %s\n", sim_uname (uptr), cptr, sim_error_text (r));
|
return sim_messagef (r, "%s: Cannot open copy source: %s - %s\n", sim_uname (uptr), cptr, sim_error_text (r));
|
||||||
}
|
}
|
||||||
sim_messagef (SCPE_OK, "%s: creating new %s '%s' disk container copied from '%s'\n", sim_uname (uptr), dest_fmt, gbuf, cptr);
|
sim_messagef (SCPE_OK, "%s: Creating new %s '%s' disk container copied from '%s'\n", sim_uname (uptr), dest_fmt, gbuf, cptr);
|
||||||
capac_factor = ((dptr->dwidth / dptr->aincr) >= 32) ? 8 : ((dptr->dwidth / dptr->aincr) == 16) ? 2 : 1; /* capacity units (quadword: 8, word: 2, byte: 1) */
|
capac_factor = ((dptr->dwidth / dptr->aincr) >= 32) ? 8 : ((dptr->dwidth / dptr->aincr) == 16) ? 2 : 1; /* capacity units (quadword: 8, word: 2, byte: 1) */
|
||||||
if (strcmp ("VHD", dest_fmt) == 0)
|
if (strcmp ("VHD", dest_fmt) == 0)
|
||||||
dest = sim_vhd_disk_create (gbuf, ((t_offset)uptr->capac)*capac_factor*((dptr->flags & DEV_SECTORS) ? 512 : 1));
|
dest = sim_vhd_disk_create (gbuf, ((t_offset)uptr->capac)*capac_factor*((dptr->flags & DEV_SECTORS) ? 512 : 1));
|
||||||
|
@ -2362,7 +2362,7 @@ if (sim_switches & SWMASK ('C')) { /* create new disk conta
|
||||||
dest = sim_fopen (gbuf, "wb+");
|
dest = sim_fopen (gbuf, "wb+");
|
||||||
if (!dest) {
|
if (!dest) {
|
||||||
sim_disk_detach (uptr);
|
sim_disk_detach (uptr);
|
||||||
return sim_messagef (r, "%s: can't create %s disk container '%s'\n", sim_uname (uptr), dest_fmt, gbuf);
|
return sim_messagef (r, "%s: Cannot create %s disk container '%s'\n", sim_uname (uptr), dest_fmt, gbuf);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
uint8 *copy_buf = (uint8*) malloc (1024*1024);
|
uint8 *copy_buf = (uint8*) malloc (1024*1024);
|
||||||
|
@ -2583,7 +2583,7 @@ if ((sim_switches & SWMASK ('R')) || /* read only? */
|
||||||
if (uptr->fileref == NULL) /* open fail? */
|
if (uptr->fileref == NULL) /* open fail? */
|
||||||
return _err_return (uptr, SCPE_OPENERR); /* yes, error */
|
return _err_return (uptr, SCPE_OPENERR); /* yes, error */
|
||||||
uptr->flags = uptr->flags | UNIT_RO; /* set rd only */
|
uptr->flags = uptr->flags | UNIT_RO; /* set rd only */
|
||||||
sim_messagef (SCPE_OK, "%s: unit is read only\n", sim_uname (uptr));
|
sim_messagef (SCPE_OK, "%s: Unit is read only\n", sim_uname (uptr));
|
||||||
}
|
}
|
||||||
else { /* normal */
|
else { /* normal */
|
||||||
uptr->fileref = open_function (cptr, "rb+"); /* open r/w */
|
uptr->fileref = open_function (cptr, "rb+"); /* open r/w */
|
||||||
|
@ -2595,18 +2595,20 @@ else { /* normal */
|
||||||
if (uptr->fileref == NULL) /* open fail? */
|
if (uptr->fileref == NULL) /* open fail? */
|
||||||
return _err_return (uptr, SCPE_OPENERR);/* yes, error */
|
return _err_return (uptr, SCPE_OPENERR);/* yes, error */
|
||||||
uptr->flags = uptr->flags | UNIT_RO; /* set rd only */
|
uptr->flags = uptr->flags | UNIT_RO; /* set rd only */
|
||||||
sim_messagef (SCPE_OK, "%s: unit is read only\n", sim_uname (uptr));
|
sim_messagef (SCPE_OK, "%s: Unit is read only\n", sim_uname (uptr));
|
||||||
}
|
}
|
||||||
else { /* doesn't exist */
|
else { /* doesn't exist */
|
||||||
if (sim_switches & SWMASK ('E')) /* must exist? */
|
if (sim_switches & SWMASK ('E')) /* must exist? */
|
||||||
return sim_messagef (_err_return (uptr, SCPE_OPENERR), "%s: File not found: %s\n", sim_uname (uptr), cptr);
|
return sim_messagef (_err_return (uptr, SCPE_OPENERR), "%s: Cannot open '%s' - %s\n",
|
||||||
|
sim_uname (uptr), cptr, strerror (errno));
|
||||||
if (create_function)
|
if (create_function)
|
||||||
uptr->fileref = create_function (cptr, ((t_offset)uptr->capac)*ctx->capac_factor*((dptr->flags & DEV_SECTORS) ? 512 : 1));/* create new file */
|
uptr->fileref = create_function (cptr, ((t_offset)uptr->capac)*ctx->capac_factor*((dptr->flags & DEV_SECTORS) ? 512 : 1));/* create new file */
|
||||||
else
|
else
|
||||||
uptr->fileref = open_function (cptr, "wb+");/* open new file */
|
uptr->fileref = open_function (cptr, "wb+");/* open new file */
|
||||||
if (uptr->fileref == NULL) /* open fail? */
|
if (uptr->fileref == NULL) /* open fail? */
|
||||||
return sim_messagef (_err_return (uptr, SCPE_OPENERR), "%s: Can't create file: %s\n", sim_uname (uptr), cptr);
|
return sim_messagef (_err_return (uptr, SCPE_OPENERR), "%s: Cannot create '%s' - %s\n",
|
||||||
sim_messagef (SCPE_OK, "%s: creating new file: %s\n", sim_uname (uptr), cptr);
|
sim_uname (uptr), cptr, strerror (errno));
|
||||||
|
sim_messagef (SCPE_OK, "%s: Creating new file: %s\n", sim_uname (uptr), cptr);
|
||||||
created = TRUE;
|
created = TRUE;
|
||||||
}
|
}
|
||||||
} /* end if null */
|
} /* end if null */
|
||||||
|
@ -2635,13 +2637,13 @@ if ((DK_GET_FMT (uptr) == DKUF_F_VHD) || (ctx->footer)) {
|
||||||
((xfer_element_size == 0) || (xfer_element_size == ctx->xfer_element_size))) {
|
((xfer_element_size == 0) || (xfer_element_size == ctx->xfer_element_size))) {
|
||||||
if (strcmp (container_dtype, dtype) != 0) {
|
if (strcmp (container_dtype, dtype) != 0) {
|
||||||
if (drivetypes == NULL) /* No Autosize */
|
if (drivetypes == NULL) /* No Autosize */
|
||||||
r = sim_messagef (SCPE_OPENERR, "%s: Can't attach %s container to %s unit - Autosizing disk disabled\n", sim_uname (uptr), container_dtype, dtype);
|
r = sim_messagef (SCPE_OPENERR, "%s: Cannot attach %s container to %s unit - Autosizing disk disabled\n", sim_uname (uptr), container_dtype, dtype);
|
||||||
else {
|
else {
|
||||||
cmd[sizeof (cmd) - 1] = '\0';
|
cmd[sizeof (cmd) - 1] = '\0';
|
||||||
snprintf (cmd, sizeof (cmd) - 1, "%s %s", sim_uname (uptr), container_dtype);
|
snprintf (cmd, sizeof (cmd) - 1, "%s %s", sim_uname (uptr), container_dtype);
|
||||||
r = set_cmd (0, cmd);
|
r = set_cmd (0, cmd);
|
||||||
if (r != SCPE_OK) {
|
if (r != SCPE_OK) {
|
||||||
r = sim_messagef (r, "%s: Can't set to drive type %s\n", sim_uname (uptr), container_dtype);
|
r = sim_messagef (r, "%s: Cannot set to drive type %s\n", sim_uname (uptr), container_dtype);
|
||||||
if ((uptr->flags & UNIT_RO) != 0) /* Not Opening read only? */
|
if ((uptr->flags & UNIT_RO) != 0) /* Not Opening read only? */
|
||||||
r = sim_messagef (SCPE_OK, "%s: Read Only access to inconsistent drive type allowed\n", sim_uname (uptr));
|
r = sim_messagef (SCPE_OK, "%s: Read Only access to inconsistent drive type allowed\n", sim_uname (uptr));
|
||||||
else
|
else
|
||||||
|
@ -6020,12 +6022,12 @@ if (info->flag) { /* zap type */
|
||||||
container = sim_vhd_disk_open (FullPath, "r");
|
container = sim_vhd_disk_open (FullPath, "r");
|
||||||
if (container != NULL) {
|
if (container != NULL) {
|
||||||
sim_vhd_disk_close (container);
|
sim_vhd_disk_close (container);
|
||||||
info->stat = sim_messagef (SCPE_OPENERR, "Can't change the disk type of a VHD container file\n");
|
info->stat = sim_messagef (SCPE_OPENERR, "Cannot change the disk type of a VHD container file\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
container = sim_fopen (FullPath, "r+");
|
container = sim_fopen (FullPath, "r+");
|
||||||
if (container == NULL) {
|
if (container == NULL) {
|
||||||
info->stat = sim_messagef (SCPE_OPENERR, "Can't open container file '%s' - %s\n", FullPath, strerror (errno));
|
info->stat = sim_messagef (SCPE_OPENERR, "Cannot open container file '%s' - %s\n", FullPath, strerror (errno));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
container_size = sim_fsize_ex (container);
|
container_size = sim_fsize_ex (container);
|
||||||
|
@ -6102,7 +6104,7 @@ if (info->flag == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
info->stat = sim_messagef (SCPE_OPENERR, "Can't open container file '%s' - %s\n", FullPath, strerror (errno));
|
info->stat = sim_messagef (SCPE_OPENERR, "Cannot open container file '%s' - %s\n", FullPath, strerror (errno));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue