Sysfunction 70.10 "rename/move"

Internal structure and you change requests/suggestions
  • Работает в пределах каталога, раздела или универсальна?

    Т.е можно ли переименовать, переместить?
    1. /usbhd0/1/xx. в /hd0/1/yy.
    2. /hd0/1/yy. в /hd0/1/222/zz.
    2а. в случае если /hd0/1/222 не существует
  • Работает в пределах раздела.

    Только 2.
  • Пробую переименовать

    Code: Select all

    ...
    szCalc db '/sys/calc',0
    szCalcRenamed db '/sys/calcRenamed',0
    ...
            push   dword szCalc
            dec    esp
            mov    [esp], byte 0
            push   dword szCalcRenamed
            push   dword 0
            push   dword 0
            push   dword 0
            push   dword 10
            mov    ebx, esp
            mov    eax, 70
            int    64            
    ...
    Почему-то возвращается ошибка
    Spoiler:
    2.PNG
    2.PNG (70.15 KiB)
    Viewed 7953 times
    Пробую удалить

    Code: Select all

            push   dword szCalc
            dec    esp
            mov    [esp], byte 0
            push   dword 0
            push   dword 0
            push   dword 0
            push   dword 0
            push   dword 8
            mov    ebx, esp
            mov    eax, 70
            int    64
    
    Работает
    Spoiler:
    1.PNG
    1.PNG (72.8 KiB)
    Viewed 7953 times
  • А если прочитать замечания в документации?
  • Сейчас некоторым файлам\папкам(например, /sys/3D и /sys/calc) при переименовании можно дать "пустое имя".
    Думаю, это плохая идея :)
    Лучше возвращать ошибку.
  • Если исходное и новое имя совпадают, то возвращается "Access denied".
    Думаю, лучше по аналогии с CreateFolder: если уже существует, то это не ошибка.
  • revision #7040

    Второе сделать непросто. Вернее нужно полностью сравнивать строки, а это тупо деоптимизация.
  • Who is online

    Users browsing this forum: No registered users and 6 guests