Rewrote em_load_driver in assembler fixing a possible memory leak.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5793 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
uz
2012-07-22 11:36:09 +00:00
parent 1f9f96d9b7
commit e7ed3b374f
6 changed files with 25 additions and 97 deletions

View File

@@ -6,10 +6,10 @@
;/* */
;/* */
;/* */
;/* (C) 2002 Ullrich von Bassewitz */
;/* Wacholderweg 14 */
;/* D-70597 Stuttgart */
;/* EMail: uz@musoftware.de */
;/* (C) 2002-2012, Ullrich von Bassewitz */
;/* Roemerstrasse 52 */
;/* D-70794 Filderstadt */
;/* EMail: uz@cc65.org */
;/* */
;/* */
;/* This software is provided 'as-is', without any expressed or implied */
@@ -33,12 +33,17 @@
; Error codes
EM_ERR_OK = 0 ; No error
EM_ERR_NO_DRIVER = 1 ; No driver available
EM_ERR_CANNOT_LOAD = 2 ; Error loading driver
EM_ERR_INV_DRIVER = 3 ; Invalid driver
EM_ERR_NO_DEVICE = 4 ; Device (hardware) not found
; Error constants
.enum
EM_ERR_OK ; No error
EM_ERR_NO_DRIVER ; No driver available
EM_ERR_CANNOT_LOAD ; Error loading driver
EM_ERR_INV_DRIVER ; Invalid driver
EM_ERR_NO_DEVICE ; Device (hardware) not found
EM_ERR_INSTALLED ; A driver is already installed
EM_ERR_COUNT ; Special: Number of error messages
.endenum

View File

@@ -74,7 +74,7 @@ EMD_API_VERSION = $00
;------------------------------------------------------------------------------
; Driver entry points
.global emd_install
.global emd_uninstall
.global emd_pagecount
@@ -87,6 +87,11 @@ EMD_API_VERSION = $00
;------------------------------------------------------------------------------
; ASM functions
.global em_clear_ptr
;------------------------------------------------------------------------------
; C callable functions
.global _em_unload
.global _em_install
.global _em_uninstall
@@ -97,4 +102,3 @@ EMD_API_VERSION = $00
.global _em_copyfrom
.global _em_copyto