Adds eprintf (printf but print to stderr)
This commit is contained in:
@@ -16,6 +16,7 @@ section .text
|
||||
global print
|
||||
global puts
|
||||
global printf
|
||||
global eprintf
|
||||
|
||||
;----- print(*str[]) -----;
|
||||
; Prints given string to the console to stdout
|
||||
@@ -101,6 +102,12 @@ printf:
|
||||
mov rax, FD_stdout
|
||||
jmp __INTERNAL_fmt
|
||||
|
||||
;----- eprintf(*format[], ...) -----;
|
||||
; Same as printf, except prints to stderr
|
||||
eprintf:
|
||||
mov rax, FD_stderr
|
||||
jmp __INTERNAL_fmt
|
||||
|
||||
;----- __INTERNAL_fmt(*format[], ...) -----;
|
||||
; See printf description above, +
|
||||
; 1) Return value can be amount of printed characters or -errno (eg if bad FD was passed, -EBADF is returned)
|
||||
|
@@ -73,6 +73,7 @@ extern umask_get
|
||||
extern print
|
||||
extern puts
|
||||
extern printf
|
||||
extern eprintf
|
||||
;string.asm
|
||||
extern strlen
|
||||
extern strcpy
|
||||
@@ -114,6 +115,7 @@ section .rodata
|
||||
TEST_print equ 1
|
||||
TEST_puts equ 1
|
||||
TEST_printf equ 1
|
||||
TEST_eprintf equ 1
|
||||
;string.asm_
|
||||
TEST_strlen equ 1
|
||||
TEST_strcpy equ 1
|
||||
@@ -249,6 +251,10 @@ section .rodata
|
||||
printfStr3 db "%p | %16p | %016p | %#16p | %#016p\n%p | %016p | %16p | %#016p | %#16p\n",EOS
|
||||
addTest(printf_null, "printf(''NULL pointer (%%s): %s\n'', itoa(128, 9, 0, 0))")
|
||||
printfStr4 db "NULL pointer (%%s): %s\n",EOS
|
||||
;eprintf()
|
||||
addTestHeader(_eprintf, "eprintf")
|
||||
addTest(eprintf1, "eprintf(''This is not an error :-)\n'')")
|
||||
eprintfStr1 db "This is not an error :-)\n",EOS
|
||||
; STRINGS FOR USE IN STRING FUNCTIOns
|
||||
str1 db "Hello, World!",EOS;13
|
||||
str2 db "Hello, world!",EOS;13
|
||||
@@ -826,6 +832,16 @@ _start:
|
||||
assert_eq(26)
|
||||
%endif
|
||||
|
||||
;--- eprintf()
|
||||
%if TEST_eprintf
|
||||
printTestHeader(_eprintf)
|
||||
|
||||
printTest(eprintf1)
|
||||
lea rdi, [rel eprintfStr1]
|
||||
call eprintf
|
||||
assert_eq(25)
|
||||
%endif
|
||||
|
||||
;;;
|
||||
;;; STRINGS FOR STRING FUNCTIONS
|
||||
;;;
|
||||
|
Reference in New Issue
Block a user