Rev 4066 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4066 | Rev 4067 | ||
---|---|---|---|
Line 742... | Line 742... | ||
742 | ; ebx = pointer to paramteres from sysfunc 70. |
742 | ; ebx = pointer to paramteres from sysfunc 70. |
743 | ; ebp = pointer to EXTFS structure. |
743 | ; ebp = pointer to EXTFS structure. |
744 | ; Output: eax = error code. |
744 | ; Output: eax = error code. |
745 | ;--------------------------------------------------------------------- |
745 | ;--------------------------------------------------------------------- |
746 | ext2_GetFileInfo: |
746 | ext2_GetFileInfo: |
747 | ;DEBUGF 1, "Calling for file info.\n" |
747 | ;DEBUGF 1, "Calling for file info, for: %s.\n", esi |
748 | call ext2_lock |
748 | call ext2_lock |
749 | mov edx, [ebx + 16] |
749 | mov edx, [ebx + 16] |
750 | cmp byte [esi], 0 |
750 | cmp byte [esi], 0 |
751 | jz .is_root |
751 | jz .is_root |
Line 760... | Line 760... | ||
760 | jz @F |
760 | jz @F |
Line 761... | Line 761... | ||
761 | 761 | ||
762 | push eax |
762 | push eax |
763 | call ext2_unlock |
763 | call ext2_unlock |
764 | pop eax |
- | |
765 | 764 | pop eax |
|
766 | ;DEBUGF 1, "Returning with: %x.\n", eax |
765 | ;DEBUGF 1, "Returning with: %x.\n", eax |
Line 767... | Line 766... | ||
767 | ret |
766 | ret |
768 | 767 | ||
Line 1162... | Line 1161... | ||
1162 | call current_unix_time |
1161 | call current_unix_time |
Line 1163... | Line 1162... | ||
1163 | 1162 | ||
Line 1164... | Line 1163... | ||
1164 | pop edi |
1163 | pop edi |
1165 | 1164 | ||
1166 | mov ebx, [ebp + EXTFS.ext2_temp_inode] |
1165 | mov ebx, [ebp + EXTFS.ext2_temp_inode] |
1167 | mov [ebx + EXT2_INODE_STRUC.i_mode], EXT2_S_IFDIR |
1166 | mov [ebx + EXT2_INODE_STRUC.i_mode], EXT2_S_IFDIR or PERMISSIONS |
1168 | mov eax, edx |
1167 | mov eax, edx |
1169 | call ext2_inode_write |
1168 | call ext2_inode_write |
Line 1342... | Line 1341... | ||
1342 | call current_unix_time |
1341 | call current_unix_time |
Line 1343... | Line 1342... | ||
1343 | 1342 | ||
Line 1344... | Line 1343... | ||
1344 | pop edi |
1343 | pop edi |
1345 | 1344 | ||
1346 | mov ebx, [ebp + EXTFS.ext2_temp_inode] |
1345 | mov ebx, [ebp + EXTFS.ext2_temp_inode] |
1347 | mov [ebx + EXT2_INODE_STRUC.i_mode], EXT2_S_IFREG |
1346 | mov [ebx + EXT2_INODE_STRUC.i_mode], EXT2_S_IFREG or PERMISSIONS |
1348 | mov eax, edx |
1347 | mov eax, edx |
1349 | call ext2_inode_write |
1348 | call ext2_inode_write |
Line 1449... | Line 1448... | ||
1449 | ; Save the inode. |
1448 | ; Save the inode. |
1450 | push esi |
1449 | push esi |
Line 1451... | Line 1450... | ||
1451 | 1450 | ||
1452 | ; Check if it's a file. |
1451 | ; Check if it's a file. |
1453 | mov edx, [ebp + EXTFS.ext2_save_inode] |
1452 | mov edx, [ebp + EXTFS.ext2_save_inode] |
1454 | cmp [edx + EXT2_INODE_STRUC.i_mode], EXT2_S_IFREG |
1453 | test [edx + EXT2_INODE_STRUC.i_mode], EXT2_S_IFREG |
Line 1455... | Line 1454... | ||
1455 | jne .error |
1454 | jz .error |
1456 | 1455 | ||
Line 1457... | Line 1456... | ||
1457 | mov eax, esi |
1456 | mov eax, esi |