]> git.sur5r.net Git - cc65/commitdiff
Fixed TGI error codes and messages. Removed the Atari specific ones.
authoruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 13 Nov 2009 12:57:10 +0000 (12:57 +0000)
committeruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 13 Nov 2009 12:57:10 +0000 (12:57 +0000)
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

asminc/tgi-error.inc
include/tgi/tgi-error.h
libsrc/tgi/tgi_geterrormsg.s
libsrc/tgi/tgi_load_vectorfont.c

index 99eb6ee4aa92a07ec3ab62a687e2b7c5ed6a03ba..52bb57727081780705e589cfc54b885b47451abc 100644 (file)
 .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
 
index 30b809a0a6cd750fcad5afcfdb042de66c81ab3c..f1dd7c8ffe4901bf93816f4a47bfba08cd68f79e 100644 (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 */
 
 
 
index c2288fd05699fc5962759bea7dab325e7b55ae49..c31033cb091cd4f88e8472fe8773dbeb2a9a1811 100644 (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"
 
index ad141d098d7c137e463c3445e930ed48b1c9d917..280f9f47e2e3a16c2e66e72808011097b285fdea 100644 (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;
 }