From a259518124ffb716a4da8252d2456929a10d0693 Mon Sep 17 00:00:00 2001 From: Matou Date: Sun, 8 Mar 2026 18:15:42 +0200 Subject: [PATCH] requested changes (all) --- programs/emulator/dgen-sdl-1.33/dgen_open.asm | 2 +- programs/quotkinizer.inc | 52 ++++++++++++------- 2 files changed, 33 insertions(+), 21 deletions(-) diff --git a/programs/emulator/dgen-sdl-1.33/dgen_open.asm b/programs/emulator/dgen-sdl-1.33/dgen_open.asm index 1ad9a4dad..eeff86209 100644 --- a/programs/emulator/dgen-sdl-1.33/dgen_open.asm +++ b/programs/emulator/dgen-sdl-1.33/dgen_open.asm @@ -3,6 +3,6 @@ format binary as "" -TARGET equ '/kolibrios/emul/dgen/dgen' +WRAPPER_SUFFIX equ '_open' include '../../quotkinizer.inc' diff --git a/programs/quotkinizer.inc b/programs/quotkinizer.inc index db732e1e2..580db9ed5 100644 --- a/programs/quotkinizer.inc +++ b/programs/quotkinizer.inc @@ -1,8 +1,13 @@ ; wraps command line arguments in quotes and launches a target. -; TARGET equ 'target_name' must be defined before including this file. +; WRAPPER_SUFFIX equ '_wrapper_name' must be defined before including this file. include 'KOSfuncs.inc' +virtual + db WRAPPER_SUFFIX + SUFFIX_SIZE = $ - $$ +end virtual + org 0x0 use32 @@ -12,27 +17,31 @@ dd start dd i_end dd m_end dd m_end -dd params -dd 0 +dd path +dd target_path start: - cmp byte [params], 0 + mov edi, target_path + or ecx, -1 + xor al, al + repne scasb + + sub edi, SUFFIX_SIZE + 1 + mov byte [edi], 0 + + cmp byte [path], 0 je .launch - mov esi, params - mov ah, '"' + mov byte [q_path], '"' -.shift_loop: - mov al, [esi] - mov [esi], ah - inc esi - mov ah, al - test al, al - jnz .shift_loop + mov edi, path + or ecx, -1 + xor al, al + repne scasb + + mov word [edi-1], '"' - mov word [esi], '"' - - mov dword [fi + 8], params + mov dword [fi + 8], q_path .launch: mov eax, SF_FILE @@ -47,11 +56,14 @@ fi: db 0 dd target_path -target_path db TARGET, 0 - i_end: -params rb 1024 +params rb 256 +virtual at params + q_path rb 1 + path rb 255 +end virtual + +target_path rb 1024 m_end: -