alternate ways of setting the string encoding for absolute paths
git-svn-id: svn://kolibrios.org@6758 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
ae17e1bd38
commit
8eb00f284b
@ -828,10 +828,16 @@ common_app_entry:
|
|||||||
[ebp+APP_HDR.img_base], [ebp+APP_HDR.img_size]
|
[ebp+APP_HDR.img_base], [ebp+APP_HDR.img_size]
|
||||||
mov esi, [ebp+APP_HDR.path_string]
|
mov esi, [ebp+APP_HDR.path_string]
|
||||||
mov edi, [ebp+APP_HDR.path]
|
mov edi, [ebp+APP_HDR.path]
|
||||||
|
mov ecx, [ebp+APP_HDR.filename_size]
|
||||||
|
cmp ecx, 1023
|
||||||
|
jc @f
|
||||||
|
mov ecx, 1022
|
||||||
|
@@:
|
||||||
push esi
|
push esi
|
||||||
test edi, edi
|
test edi, edi
|
||||||
jz @f
|
jz @f
|
||||||
mov ecx, [ebp+APP_HDR.filename_size]
|
mov al, '/'
|
||||||
|
stosb
|
||||||
rep movsb
|
rep movsb
|
||||||
mov byte [edi], 0
|
mov byte [edi], 0
|
||||||
@@:
|
@@:
|
||||||
|
@ -3900,12 +3900,16 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
|||||||
* +20 = +0x14: byte: 0
|
* +20 = +0x14: byte: 0
|
||||||
* +21 = +0x15: dword: указатель на строку
|
* +21 = +0x15: dword: указатель на строку
|
||||||
Чувствительность к регистру букв зависит от файловой системы.
|
Чувствительность к регистру букв зависит от файловой системы.
|
||||||
Можно указать кодировку, поместив в начале строки байт со значениями:
|
Если путь начинается не с '/', то он считается относительным.
|
||||||
|
Получить или установить текущую папку можно с помощью сисфункции 30.
|
||||||
|
'../' в начале пути означает подъём на одну папку относительно текущей.
|
||||||
|
Можно указать кодировку строки, поместив в её начале байт со значениями:
|
||||||
* 1 = cp866
|
* 1 = cp866
|
||||||
* 2 = UTF-16LE
|
* 2 = UTF-16LE
|
||||||
* 3 = UTF-8
|
* 3 = UTF-8
|
||||||
иначе будет использоваться кодировка cp866.
|
иначе будет использоваться кодировка cp866. В абсолютном пути можно
|
||||||
Формат строки:
|
поместить этот байт после '/' или добавить дополнительный '/' перед ним.
|
||||||
|
Формат абсолютного пути:
|
||||||
/base/number/dir1/dir2/.../dirn/file,
|
/base/number/dir1/dir2/.../dirn/file,
|
||||||
где base/number идентифицирует устройство, на котором ищется файл:
|
где base/number идентифицирует устройство, на котором ищется файл:
|
||||||
* RD/1 = рамдиск
|
* RD/1 = рамдиск
|
||||||
@ -3924,9 +3928,6 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
|||||||
* '/HD0/1/folder/file.txt',0
|
* '/HD0/1/folder/file.txt',0
|
||||||
* '/hd2/2/pics/tanzania.bmp',0
|
* '/hd2/2/pics/tanzania.bmp',0
|
||||||
* 2,'/',0,'sys','/',0,'F',0,'I',0,'L',0,'E',0,0,0
|
* 2,'/',0,'sys','/',0,'F',0,'I',0,'L',0,'E',0,0,0
|
||||||
Также функция поддерживает относительные имена. Если путь начинается
|
|
||||||
не с '/', то он считается относительно текущей папки. Получить или
|
|
||||||
установить текущую папку можно с помощью сисфункции 30.
|
|
||||||
|
|
||||||
Доступные подфункции:
|
Доступные подфункции:
|
||||||
* подфункция 0 - чтение файла
|
* подфункция 0 - чтение файла
|
||||||
@ -4134,7 +4135,6 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
|||||||
* +0: dword: 4 = номер подфункции
|
* +0: dword: 4 = номер подфункции
|
||||||
* +4: dword: младший dword нового размера файла
|
* +4: dword: младший dword нового размера файла
|
||||||
* +8: dword: старший dword нового размера файла
|
* +8: dword: старший dword нового размера файла
|
||||||
(должен быть 0 для FAT)
|
|
||||||
* +12 = +0xC: dword: 0 (зарезервировано)
|
* +12 = +0xC: dword: 0 (зарезервировано)
|
||||||
* +16 = +0x10: dword: 0 (зарезервировано)
|
* +16 = +0x10: dword: 0 (зарезервировано)
|
||||||
* +20 = +0x14: путь, правила формирования имён указаны в общем описании
|
* +20 = +0x14: путь, правила формирования имён указаны в общем описании
|
||||||
@ -4142,10 +4142,9 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
|||||||
* eax = 0 - успешно, иначе код ошибки файловой системы
|
* eax = 0 - успешно, иначе код ошибки файловой системы
|
||||||
* ebx разрушается
|
* ebx разрушается
|
||||||
Замечания:
|
Замечания:
|
||||||
* Если новый размер файла меньше старого, файл усекается. Если
|
* Если новый размер файла меньше старого, файл усекается.
|
||||||
новый размер больше старого, файл расширяется нулевыми символами.
|
Если новый размер больше старого, файл расширяется, и если
|
||||||
Если новый размер равен старому, единственным результатом вызова
|
разница в размере не больше 16 МБ, новое место очищается нулями.
|
||||||
является установка даты/времени модификации и доступа в текущие.
|
|
||||||
* Если свободного места на диске недостаточно для расширения файла,
|
* Если свободного места на диске недостаточно для расширения файла,
|
||||||
то функция расширит насколько возможно, после чего вернёт
|
то функция расширит насколько возможно, после чего вернёт
|
||||||
код ошибки 8.
|
код ошибки 8.
|
||||||
@ -4599,7 +4598,7 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
|||||||
* esi = длина структуры sockaddr
|
* esi = длина структуры sockaddr
|
||||||
Формат структуры SockAddr:
|
Формат структуры SockAddr:
|
||||||
* +0: Word: Family
|
* +0: Word: Family
|
||||||
* +2: 14*Byte: Data
|
* +2: 14*Byte: Data
|
||||||
Возвращаемое значение:
|
Возвращаемое значение:
|
||||||
* eax = -1 для ошибки
|
* eax = -1 для ошибки
|
||||||
* ebx = код ошибки
|
* ebx = код ошибки
|
||||||
@ -4618,7 +4617,7 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
|||||||
* esi = длина структуры sockaddr
|
* esi = длина структуры sockaddr
|
||||||
Формат структуры SockAddr:
|
Формат структуры SockAddr:
|
||||||
* +0: Word: Family
|
* +0: Word: Family
|
||||||
* +2: 14*Byte: Data
|
* +2: 14*Byte: Data
|
||||||
Возвращаемое значение:
|
Возвращаемое значение:
|
||||||
* eax = номер сокета из принятого сокета, -1 для ошибки
|
* eax = номер сокета из принятого сокета, -1 для ошибки
|
||||||
* ebx = код ошибки
|
* ebx = код ошибки
|
||||||
|
@ -3670,6 +3670,7 @@ Parameters:
|
|||||||
* ebx = 2 - subfunction number
|
* ebx = 2 - subfunction number
|
||||||
* ecx = thread identifier
|
* ecx = thread identifier
|
||||||
* edx = size of context structure, must be 0x28=40 bytes
|
* edx = size of context structure, must be 0x28=40 bytes
|
||||||
|
* esi -> context structure
|
||||||
Returned value:
|
Returned value:
|
||||||
* function does not return value
|
* function does not return value
|
||||||
Format of context structure is shown in the description of
|
Format of context structure is shown in the description of
|
||||||
@ -3855,12 +3856,16 @@ General format of the information structure:
|
|||||||
* +20 = +0x14: byte: 0
|
* +20 = +0x14: byte: 0
|
||||||
* +21 = +0x15: dword: pointer to string
|
* +21 = +0x15: dword: pointer to string
|
||||||
Case sensitivity depends on filesystem.
|
Case sensitivity depends on filesystem.
|
||||||
|
If a path not begins with '/', it is considered a relative.
|
||||||
|
To get or set the current folder, use the function 30.
|
||||||
|
'../' in the beginning means a lift by one folder relatively current folder.
|
||||||
To set the encoding, put at the start of the string a byte with next values:
|
To set the encoding, put at the start of the string a byte with next values:
|
||||||
* 1 = cp866
|
* 1 = cp866
|
||||||
* 2 = UTF-16LE
|
* 2 = UTF-16LE
|
||||||
* 3 = UTF-8
|
* 3 = UTF-8
|
||||||
otherwise will be used cp866.
|
otherwise will be used cp866. In an absolute path
|
||||||
Format of filename:
|
you may put this byte after the '/' or put an additional '/' before it.
|
||||||
|
Format of an absolute path:
|
||||||
/base/number/dir1/dir2/.../dirn/file,
|
/base/number/dir1/dir2/.../dirn/file,
|
||||||
where base/number identifies device, on which file is located:
|
where base/number identifies device, on which file is located:
|
||||||
* RD/1 = ramdisk
|
* RD/1 = ramdisk
|
||||||
@ -3879,9 +3884,6 @@ Examples:
|
|||||||
* '/HD0/1/folder/file.txt',0
|
* '/HD0/1/folder/file.txt',0
|
||||||
* '/hd2/2/pics/tanzania.bmp',0
|
* '/hd2/2/pics/tanzania.bmp',0
|
||||||
* 2,'/',0,'sys','/',0,'F',0,'I',0,'L',0,'E',0,0,0
|
* 2,'/',0,'sys','/',0,'F',0,'I',0,'L',0,'E',0,0,0
|
||||||
Also function supports relative names. If the path begins not
|
|
||||||
with '/', it is considered relative to a current folder. To get or
|
|
||||||
set a current folder, use the function 30.
|
|
||||||
|
|
||||||
Available subfunctions:
|
Available subfunctions:
|
||||||
* subfunction 0 - read file
|
* subfunction 0 - read file
|
||||||
@ -4094,11 +4096,9 @@ Returned value:
|
|||||||
* eax = 0 - success, otherwise file system error code
|
* eax = 0 - success, otherwise file system error code
|
||||||
* ebx destroyed
|
* ebx destroyed
|
||||||
Remarks:
|
Remarks:
|
||||||
* If the new file size is less than old one, file is truncated.
|
* If new file size is less than old one, file will be truncated.
|
||||||
If the new size is greater than old one, file is expanded with
|
If new size is greater than old one, file will be expanded, and if
|
||||||
characters with code 0. If the new size is equal to old one,
|
size difference is up to 16 MB, new space will be cleared with 0.
|
||||||
the only result of call is set date/time of modification and
|
|
||||||
access to the current date/time.
|
|
||||||
* If there is not enough free space on disk for expansion, the
|
* If there is not enough free space on disk for expansion, the
|
||||||
function will expand to maximum possible size and then return
|
function will expand to maximum possible size and then return
|
||||||
error code 8.
|
error code 8.
|
||||||
@ -4549,7 +4549,7 @@ Parameters:
|
|||||||
* esi = length of sockaddr structure
|
* esi = length of sockaddr structure
|
||||||
Format of SockAddr structure:
|
Format of SockAddr structure:
|
||||||
* +0: Word: Family
|
* +0: Word: Family
|
||||||
* +2: 14*Byte: Data
|
* +2: 14*Byte: Data
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = -1 on error
|
* eax = -1 on error
|
||||||
* ebx = errorcode
|
* ebx = errorcode
|
||||||
@ -4568,7 +4568,7 @@ Parameters:
|
|||||||
* esi = length of sockaddr structure
|
* esi = length of sockaddr structure
|
||||||
Format of SockAddr structure:
|
Format of SockAddr structure:
|
||||||
* +0: Word: Family
|
* +0: Word: Family
|
||||||
* +2: 14*Byte: Data
|
* +2: 14*Byte: Data
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = socket number of accepted socket, -1 on error
|
* eax = socket number of accepted socket, -1 on error
|
||||||
* ebx = errorcode
|
* ebx = errorcode
|
||||||
@ -4687,7 +4687,7 @@ Parameters:
|
|||||||
Returned value:
|
Returned value:
|
||||||
* eax = -1 on error, otherwise lower bits of MAC
|
* eax = -1 on error, otherwise lower bits of MAC
|
||||||
* bx = upper bits of MAC
|
* bx = upper bits of MAC
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
= Function 76, Protocol 1 - IPv4, Subfunction 0, Read # Packets sent =
|
= Function 76, Protocol 1 - IPv4, Subfunction 0, Read # Packets sent =
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -4698,7 +4698,7 @@ Parameters:
|
|||||||
* bl = 0 (Read # packets sent)
|
* bl = 0 (Read # packets sent)
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = number of packets sent (-1 on error)
|
* eax = number of packets sent (-1 on error)
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
= Function 76, Protocol 1 - IPv4, Subfunction 1, Read # Packets rcvd =
|
= Function 76, Protocol 1 - IPv4, Subfunction 1, Read # Packets rcvd =
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -4709,7 +4709,7 @@ Parameters:
|
|||||||
* bl = 1 (Read # packets received)
|
* bl = 1 (Read # packets received)
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = number of packets received (-1 on error)
|
* eax = number of packets received (-1 on error)
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
=== Function 76, Protocol 1 - IPv4, Subfunction 2, Read IP address ===
|
=== Function 76, Protocol 1 - IPv4, Subfunction 2, Read IP address ===
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -4720,7 +4720,7 @@ Parameters:
|
|||||||
* bl = 2 (Read IP address)
|
* bl = 2 (Read IP address)
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = IP address (-1 on error)
|
* eax = IP address (-1 on error)
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
=== Function 76, Protocol 1 - IPv4, Subfunction 3, Set IP address ====
|
=== Function 76, Protocol 1 - IPv4, Subfunction 3, Set IP address ====
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -4743,7 +4743,7 @@ Parameters:
|
|||||||
* bl = 4 (Read DNS server IP address)
|
* bl = 4 (Read DNS server IP address)
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = DNS server IP address (-1 on error)
|
* eax = DNS server IP address (-1 on error)
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
=== Function 76, Protocol 1 - IPv4, Subfunction 5, Set DNS address ===
|
=== Function 76, Protocol 1 - IPv4, Subfunction 5, Set DNS address ===
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -4766,7 +4766,7 @@ Parameters:
|
|||||||
* bl = 6 (Read subnet mask)
|
* bl = 6 (Read subnet mask)
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = subnet mask (-1 on error)
|
* eax = subnet mask (-1 on error)
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
=== Function 76, Protocol 1 - IPv4, Subfunction 7, Set subnet mask ===
|
=== Function 76, Protocol 1 - IPv4, Subfunction 7, Set subnet mask ===
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -4778,7 +4778,7 @@ Parameters:
|
|||||||
* ecx = subnet mask
|
* ecx = subnet mask
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = -1 on error
|
* eax = -1 on error
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
===== Function 76, Protocol 1 - IPv4, Subfunction 8, Read gateway ====
|
===== Function 76, Protocol 1 - IPv4, Subfunction 8, Read gateway ====
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -4789,7 +4789,7 @@ Parameters:
|
|||||||
* bl = 8 (Read gateway IP address)
|
* bl = 8 (Read gateway IP address)
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = gateway IP address (-1 on error)
|
* eax = gateway IP address (-1 on error)
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
===== Function 76, Protocol 1 - IPv4, Subfunction 9, Set gateway =====
|
===== Function 76, Protocol 1 - IPv4, Subfunction 9, Set gateway =====
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -4801,7 +4801,7 @@ Parameters:
|
|||||||
* ecx = gateway IP address
|
* ecx = gateway IP address
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = -1 on error
|
* eax = -1 on error
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
= Function 76, Protocol 2 - ICMP, Subfunction 0, Read # Packets sent =
|
= Function 76, Protocol 2 - ICMP, Subfunction 0, Read # Packets sent =
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -4812,7 +4812,7 @@ Parameters:
|
|||||||
* bl = 0 (Read # packets sent)
|
* bl = 0 (Read # packets sent)
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = number of packets sent (-1 on error)
|
* eax = number of packets sent (-1 on error)
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
= Function 76, Protocol 2 - ICMP, Subfunction 1, Read # Packets rcvd =
|
= Function 76, Protocol 2 - ICMP, Subfunction 1, Read # Packets rcvd =
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -4823,7 +4823,7 @@ Parameters:
|
|||||||
* bl = 1 (Read # packets received)
|
* bl = 1 (Read # packets received)
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = number of packets received (-1 on error)
|
* eax = number of packets received (-1 on error)
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
= Function 76, Protocol 3 - UDP, Subfunction 0, Read # Packets sent ==
|
= Function 76, Protocol 3 - UDP, Subfunction 0, Read # Packets sent ==
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -4834,7 +4834,7 @@ Parameters:
|
|||||||
* bl = 0 (Read # packets sent)
|
* bl = 0 (Read # packets sent)
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = number of packets sent (-1 on error)
|
* eax = number of packets sent (-1 on error)
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
= Function 76, Protocol 3 - UDP, Subfunction 1, Read # Packets rcvd ==
|
= Function 76, Protocol 3 - UDP, Subfunction 1, Read # Packets rcvd ==
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -4845,7 +4845,7 @@ Parameters:
|
|||||||
* bl = 1 (Read # packets received)
|
* bl = 1 (Read # packets received)
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = number of packets received (-1 on error)
|
* eax = number of packets received (-1 on error)
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
= Function 76, Protocol 4 - TCP, Subfunction 0, Read # Packets sent ==
|
= Function 76, Protocol 4 - TCP, Subfunction 0, Read # Packets sent ==
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -4856,7 +4856,7 @@ Parameters:
|
|||||||
* bl = 0 (Read # packets sent)
|
* bl = 0 (Read # packets sent)
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = number of packets sent (-1 on error)
|
* eax = number of packets sent (-1 on error)
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
= Function 76, Protocol 4 - TCP, Subfunction 1, Read # Packets rcvd ==
|
= Function 76, Protocol 4 - TCP, Subfunction 1, Read # Packets rcvd ==
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -4867,7 +4867,7 @@ Parameters:
|
|||||||
* bl = 1 (Read # packets received)
|
* bl = 1 (Read # packets received)
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = number of packets received (-1 on error)
|
* eax = number of packets received (-1 on error)
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
= Function 76, Protocol 5 - ARP, Subfunction 0, Read # Packets sent ==
|
= Function 76, Protocol 5 - ARP, Subfunction 0, Read # Packets sent ==
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -4878,7 +4878,7 @@ Parameters:
|
|||||||
* bl = 0 (Read # packets sent)
|
* bl = 0 (Read # packets sent)
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = number of packets sent (-1 on error)
|
* eax = number of packets sent (-1 on error)
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
= Function 76, Protocol 5 - ARP, Subfunction 1, Read # Packets rcvd ==
|
= Function 76, Protocol 5 - ARP, Subfunction 1, Read # Packets rcvd ==
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -4889,7 +4889,7 @@ Parameters:
|
|||||||
* bl = 1 (Read # packets received)
|
* bl = 1 (Read # packets received)
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = number of packets received (-1 on error)
|
* eax = number of packets received (-1 on error)
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
== Function 76, Protocol 5 - ARP, Subfunction 2, Read # ARP entries ==
|
== Function 76, Protocol 5 - ARP, Subfunction 2, Read # ARP entries ==
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -4913,14 +4913,14 @@ Parameters:
|
|||||||
* edi = ptr to buffer where ARP entry will be written
|
* edi = ptr to buffer where ARP entry will be written
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = -1 on error
|
* eax = -1 on error
|
||||||
Remarks:
|
Remarks:
|
||||||
ARP_entry struct is defined in ARP.inc in kernel and currently looks like this:
|
ARP_entry struct is defined in ARP.inc in kernel and currently looks like this:
|
||||||
struct ARP_entry
|
struct ARP_entry
|
||||||
IP dd ?
|
IP dd ?
|
||||||
MAC dp ?
|
MAC dp ?
|
||||||
Status dw ?
|
Status dw ?
|
||||||
TTL dw ?
|
TTL dw ?
|
||||||
ends
|
ends
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
==== Function 76, Protocol 5 - ARP, Subfunction 4, Add ARP entry ====
|
==== Function 76, Protocol 5 - ARP, Subfunction 4, Add ARP entry ====
|
||||||
@ -4933,9 +4933,9 @@ Parameters:
|
|||||||
* esi = ptr to buffer holding ARP entry
|
* esi = ptr to buffer holding ARP entry
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = -1 on error
|
* eax = -1 on error
|
||||||
Remarks:
|
Remarks:
|
||||||
See previous function for details on ARP entry.
|
See previous function for details on ARP entry.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
=== Function 76, Protocol 5 - ARP, Subfunction 5, Remove ARP entry ====
|
=== Function 76, Protocol 5 - ARP, Subfunction 5, Remove ARP entry ====
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -4958,7 +4958,7 @@ Parameters:
|
|||||||
* bl = 6 (Send ARP announce)
|
* bl = 6 (Send ARP announce)
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = -1 on error
|
* eax = -1 on error
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
=== Function 76, Protocol 5 - ARP, Subfunction 7, Read # conflicts ===
|
=== Function 76, Protocol 5 - ARP, Subfunction 7, Read # conflicts ===
|
||||||
======================================================================
|
======================================================================
|
||||||
|
@ -510,10 +510,18 @@ get_full_file_name:
|
|||||||
cmp byte [esi], '/'
|
cmp byte [esi], '/'
|
||||||
jnz .set_relative
|
jnz .set_relative
|
||||||
inc esi
|
inc esi
|
||||||
cmp byte [ebx], 2
|
cmp byte [esi], 4
|
||||||
jnz @f
|
jnc @f
|
||||||
|
mov ebx, esi
|
||||||
|
inc esi
|
||||||
|
cmp byte [esi], '/'
|
||||||
|
jnz .start
|
||||||
inc esi
|
inc esi
|
||||||
@@:
|
@@:
|
||||||
|
cmp byte [ebx], 2
|
||||||
|
jnz .start
|
||||||
|
inc esi
|
||||||
|
.start:
|
||||||
call process_replace_file_name
|
call process_replace_file_name
|
||||||
mov edi, [esp+12]
|
mov edi, [esp+12]
|
||||||
mov ecx, [esp+16]
|
mov ecx, [esp+16]
|
||||||
|
Loading…
Reference in New Issue
Block a user