1 /* 2 * COPYRIGHT: See COPYING in the top level directory 3 * PROJECT: ReactOS system libraries 4 * FILE: lib/sdk/crt/direct/chdrive.c 5 * PURPOSE: Change the current drive. 6 * PROGRAMER: WINE 7 * UPDATE HISTORY: 8 * 25/11/05: Added license header 9 */ 10 11 #include <precomp.h> 12 13 /* 14 * @implemented 15 * 16 * _chdrive (MSVCRT.@) 17 * 18 * Change the current drive. 19 * 20 * PARAMS 21 * newdrive [I] Drive number to change to (1 = 'A', 2 = 'B', ...) 22 * 23 * RETURNS 24 * Success: 0. The current drive is set to newdrive. 25 * Failure: -1. errno indicates the error. 26 * 27 * NOTES 28 * See SetCurrentDirectoryA. 29 */ 30 int _chdrive(int newdrive) 31 { 32 WCHAR buffer[] = L"A:"; 33 34 buffer[0] += newdrive - 1; 35 if (!SetCurrentDirectoryW( buffer )) 36 { 37 _dosmaperr(GetLastError()); 38 if (newdrive <= 0) 39 { 40 _set_errno(EACCES); 41 } 42 return -1; 43 } 44 return 0; 45 } 46