Changeset 3243 for trunk/src/comdlg32/filetitle.c
- Timestamp:
- Mar 26, 2000, 6:34:57 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/comdlg32/filetitle.c
r2607 r3243 4 4 * Copyright 1994 Martin Ayotte 5 5 * Copyright 1996 Albrecht Kleine 6 * 7 * Corel WINE 20000324 level 6 8 */ 7 9 … … 13 15 #include "debugtools.h" 14 16 15 #include "heap.h" 17 #include "heap.h" /* Has to go */ 16 18 17 19 DEFAULT_DEBUG_CHANNEL(commdlg) … … 24 26 25 27 /*********************************************************************** 26 * GetFileTitleA(COMDLG32.8)28 * GetFileTitleA (COMDLG32.8) 27 29 * 28 30 */ 29 31 short WINAPI GetFileTitleA(LPCSTR lpFile, LPSTR lpTitle, UINT cbBuf) 30 32 { 31 33 int i, len; 32 34 33 35 TRACE("(%p %p %d); \n", lpFile, lpTitle, cbBuf); 34 36 35 if(lpFile == NULL || (lpTitle == NULL && cbBuf != 0))36 37 if(lpFile == NULL || (lpTitle == NULL)) 38 return -1; 37 39 38 40 len = strlen(lpFile); 39 41 40 41 42 if (len == 0) 43 return -1; 42 44 43 44 45 if(strpbrk(lpFile, "*[]")) 46 return -1; 45 47 46 48 len--; 47 49 48 49 50 if(lpFile[len] == '/' || lpFile[len] == '\\' || lpFile[len] == ':') 51 return -1; 50 52 51 52 53 54 55 56 57 58 53 for(i = len; i >= 0; i--) 54 { 55 if (lpFile[i] == '/' || lpFile[i] == '\\' || lpFile[i] == ':') 56 { 57 i++; 58 break; 59 } 60 } 59 61 60 61 62 if(i == -1) 63 i++; 62 64 63 TRACE("---> '%s' \n", &lpFile[i]); 64 65 len = strlen(lpFile+i)+1; 66 if(cbBuf < len) 67 return len; 65 TRACE("---> '%s' \n", &lpFile[i]); 68 66 69 /* The lpTitle buffer is big enough, perform a simple copy */ 70 strcpy(lpTitle, &lpFile[i]); 71 return 0; 67 len = strlen(lpFile+i)+1; 68 if(cbBuf < len) 69 return len; 70 71 strncpy(lpTitle,&lpFile[i],len); 72 return 0; 72 73 } 73 74 74 75 75 76 /*********************************************************************** 76 * GetFileTitleW(COMDLG32.9)77 * GetFileTitleW (COMDLG32.9) 77 78 * 78 79 */ 79 80 short WINAPI GetFileTitleW(LPCWSTR lpFile, LPWSTR lpTitle, UINT cbBuf) 80 81 { 81 LPSTR file = HEAP_strdupWtoA(GetProcessHeap(), 0, lpFile);/* Has to go */82 83 shortret;82 LPSTR file = HEAP_strdupWtoA(GetProcessHeap(), 0, lpFile); /* Has to go */ 83 LPSTR title = HeapAlloc(GetProcessHeap(), 0, cbBuf); 84 short ret; 84 85 85 86 ret = GetFileTitleA(file, title, cbBuf); 86 87 87 88 89 90 88 lstrcpynAtoW(lpTitle, title, cbBuf); 89 HeapFree(GetProcessHeap(), 0, file); 90 HeapFree(GetProcessHeap(), 0, title); 91 return ret; 91 92 } 92 93 93 94 94 95 /*********************************************************************** 95 * GetFileTitle16(COMMDLG.27)96 * GetFileTitle16 (COMMDLG.27) 96 97 */ 97 98 short WINAPI GetFileTitle16(LPCSTR lpFile, LPSTR lpTitle, UINT16 cbBuf) 98 99 { 99 100 return GetFileTitleA(lpFile, lpTitle, cbBuf); 100 101 } 101 102
Note:
See TracChangeset
for help on using the changeset viewer.