1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-25 17:29:50 +00:00

Fixed TGI error codes and messages. Removed the Atari specific ones.

tgi_load_vectorfont will now return TGI_ERR_NO_MEM and clear the error code if
the load was successful.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4466 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
uz 2009-11-13 12:57:10 +00:00
parent d1e37cc241
commit e74ed31936
4 changed files with 13 additions and 8 deletions

View File

@ -37,16 +37,12 @@
.enum
TGI_ERR_OK ; No error
TGI_ERR_NO_DRIVER ; No driver available
TGI_ERR_LOAD_ERROR ; Error loading driver
TGI_ERR_CANNOT_LOAD ; Error loading driver or font
TGI_ERR_INV_DRIVER ; Invalid driver
TGI_ERR_INV_MODE ; Mode not supported by driver
TGI_ERR_INV_ARG ; Invalid function argument
TGI_ERR_INV_FUNC ; Function not supported
TGI_ERR_INV_FONT ; Font file is invalid
; Atari specific error codes
TGI_ERR_NO_IOCB ; No free IOCB to open the screen device
TGI_ERR_NO_MEM ; Not enough memory
TGI_ERR_UNKNOWN ; Unknown error

View File

@ -52,6 +52,7 @@
#define TGI_ERR_INV_ARG 5 /* Invalid function argument */
#define TGI_ERR_INV_FUNC 6 /* Function not supported */
#define TGI_ERR_INV_FONT 7 /* Font file is invalid */
#define TGI_ERR_NO_MEM 8 /* Out of memory */

View File

@ -1,4 +1,4 @@
;
;
; Ullrich von Bassewitz, 2004-06-15
;
; const char* __fastcall__ tgi_geterrormsg (unsigned char code);
@ -40,6 +40,7 @@ offs: .byte <(msg0-msgtab)
.byte <(msg6-msgtab)
.byte <(msg7-msgtab)
.byte <(msg8-msgtab)
.byte <(msg9-msgtab)
msgtab:
msg0: .asciiz "No error"
@ -50,5 +51,6 @@ msg4: .asciiz "Mode not supported by driver"
msg5: .asciiz "Invalid function argument"
msg6: .asciiz "Function not supported"
msg7: .asciiz "Invalid font file"
msg8: .asciiz "Unknown error"
msg8: .asciiz "Out of memory"
msg9: .asciiz "Unknown error"

View File

@ -67,6 +67,9 @@ const tgi_vectorfont* __fastcall__ tgi_load_vectorfont (const char* name)
unsigned char I;
/* Assume we have an error loading the font */
tgi_error = TGI_ERR_CANNOT_LOAD;
/* Open the file */
F = open (name, O_RDONLY);
if (F < 0) {
@ -90,6 +93,7 @@ const tgi_vectorfont* __fastcall__ tgi_load_vectorfont (const char* name)
Font = malloc (H.size);
if (Font == 0) {
/* Out of memory */
tgi_error = TGI_ERR_NO_MEM;
goto LoadError;
}
@ -113,6 +117,9 @@ const tgi_vectorfont* __fastcall__ tgi_load_vectorfont (const char* name)
Font->chars[I] += V;
}
/* Clear the error */
tgi_error = TGI_ERR_OK;
/* Return the vector font loaded */
return Font;
@ -123,7 +130,6 @@ LoadError:
if (F >= 0) {
close (F);
}
tgi_error = TGI_ERR_CANNOT_LOAD;
return 0;
}