Commit Graph

113 Commits

Author SHA1 Message Date
6cfb1b6f5f printf fix: Decrease rdi if padding is not 0 and specifier is invalid (assure '%' is printed) 2025-07-24 22:20:47 +02:00
bb69efcc37 Update printf test 1; Add '%9l'; I realized that I fixed '%0(invalid)' but that in the same scenario, non-zero would still cause that specific bug 2025-07-24 22:19:31 +02:00
5c395894c6 Remove '(root)/file.asm 2025-07-24 21:09:22 +02:00
1f548fddf5 Add tests for strlen 2025-07-24 21:09:07 +02:00
7c46988508 FIX printf: '%0(invalid)' as-is (don't exclude '%') 2025-07-24 20:32:49 +02:00
89b50c83ba Fix last perror test 2025-07-24 16:30:06 +02:00
715f944b6b Fix return value of perror (original -errno was returned as errno) 2025-07-24 16:27:34 +02:00
eb1c714127 Optimize umask_get (make it a leaf function) 2025-07-24 15:23:25 +02:00
c2535d9240 file.asm: Make sure constants are defined as octal 2025-07-24 15:10:38 +02:00
ee0fe3b304 Add missing defined functions in src/tests.asm 2025-07-24 15:06:34 +02:00
58190e3f48 Remove leftover file 'test' (used in silent umask tests) 2025-07-24 14:56:35 +02:00
fc297959ab Start writing file functions 2025-07-24 14:56:12 +02:00
19cea5642b perror: don't overwrite rax if rax=0 (mov rax,r9 before .quit) 2025-07-22 15:57:53 +02:00
bc5e6e2342 Adds perror() 2025-07-22 15:54:25 +02:00
8f4f0a83f5 FIX printf: NL and TAB not being counted in amount of printed chars 2025-07-22 06:55:08 +02:00
d15ed616e9 atoi: Prevent (unsigned) overflow 2025-07-22 06:45:46 +02:00
53b5314d68 Fix expected return value for 1st printf test 2025-07-21 17:35:59 +02:00
c69bd8332e Add tests print(),puts(), start adding tests for printf() 2025-07-21 17:20:55 +02:00
03303a303e Wrappers (%define) for macro assert 2025-07-21 16:55:42 +02:00
d167dfdcdf Add TEST clampu, better test result overview 2025-07-21 16:40:45 +02:00
e8b48e9939 FIX unsigned test outputs: %d -> %u 2025-07-21 16:33:07 +02:00
51fc8d5608 FIX tests minu,maxu: ...UEqual, not ...IEqual 2025-07-21 16:30:19 +02:00
1b3f4c1b99 TEST clamp() 2025-07-21 16:29:22 +02:00
9641ed1480 TEST max,maxu (shameless copy,paste,replace) 2025-07-21 16:23:40 +02:00
621de1c3db TEST minu(), improved test outputs, default to only showing full output on failure 2025-07-21 16:20:44 +02:00
f8dc652501 Fix %if statement (TEST_tolower => TEST_islower) 2025-07-21 16:09:22 +02:00
d14b90ffef Fix min() tests 2025-07-21 16:06:28 +02:00
34de8f351d Tests: print expected return value and real return value. Also allow printing this only for failed tests (preventing more output to console) 2025-07-21 16:04:25 +02:00
ad559062ef Start rewriting tests 2025-07-21 15:33:54 +02:00
7db299bcbd printf test 18: atoi->itoa 2025-07-21 00:30:17 +02:00
336a178d30 Revert "utoa: call clampu instead of clamp (since utoa=>unsigned to ascii)" -- it's for padding length, max 64, no unsigned tests needed...
This reverts commit e00895105c.
2025-07-20 23:55:01 +02:00
e00895105c utoa: call clampu instead of clamp (since utoa=>unsigned to ascii) 2025-07-20 23:48:07 +02:00
d595ba1903 Little update in printf comment (padding now does take num prefix into account) 2025-07-20 23:39:54 +02:00
8c25b7913b printf(): Print null pointers (arg for %s = 0) as (null), fixes #4 2025-07-20 22:52:17 +02:00
ebee21c457 mov X, 0 -> xor X, X - Fixes #3 2025-07-20 22:38:06 +02:00
6bc6000454 printf: Prevent special characters not being processed if it was proceeded by a percentage sign (ie '%\n') 2025-07-20 12:35:13 +02:00
b0e9193b0a atoi(): Add support for lowercase hexadecimal letters 2025-07-20 12:18:29 +02:00
318ccc960f atoi(): Remove leftover label .getLen 2025-07-20 11:50:03 +02:00
aef72931a3 atoi(): Don't use extra loop for calculating base^n; r9 already holds previous value so just do r9*rsi ( [previous base^n] * base) 2025-07-20 11:47:31 +02:00
3510139c25 Add tests for atoi() 2025-07-20 11:41:20 +02:00
4ed0ae373c Adds atoi 2025-07-20 11:33:07 +02:00
1c5ba65f49 Correctly set padding length when using prefix (fixes #1) 2025-07-17 14:56:35 +02:00
09cf143b2a Fix printf comment: %8x->%#8x 2025-07-16 13:25:59 +02:00
bb53e7967d Account for padding length when inserting prefix while padding with spaces 2025-07-16 13:24:24 +02:00
0a737dc0e5 Use r13 only instead of r13+r15 (bitmasking) 2025-07-15 21:34:36 +02:00
3978805d8f Extra test for %p (or rather prefix+padding): prefix taken into account for padding spaces but not for zeroes. 2025-07-15 16:57:53 +02:00
53f9c1e2f7 Fix tests for printf %p: Don't use random magic number but actual pointers, since that's what %p is for) 2025-07-15 16:50:00 +02:00
e718e1534b printf: Add format specifier %p 2025-07-15 16:39:19 +02:00
70ab8b19c3 Allow printing prefixes for %x,%X,%b and %o (pass ~base to udec) 2025-07-15 16:31:52 +02:00
87fd5d815a Update supported padding specifiers comment (include o[ctal]) 2025-07-15 10:52:09 +02:00