Mask off unsupported attributes in _lcreat (bug reported by Andreas Mohr).
Moved _lcreat16_uniq to int21.c

diff --git a/files/file.c b/files/file.c
index 8936215..f9851dd 100644
--- a/files/file.c
+++ b/files/file.c
@@ -1196,32 +1196,21 @@
  */
 HFILE16 WINAPI _lcreat16( LPCSTR path, INT16 attr )
 {
-    TRACE(file, "%s %02x\n", path, attr );
     return FILE_AllocDosHandle( _lcreat( path, attr ) );
 }
 
 
 /***********************************************************************
- *           _lcreat32   (KERNEL32.593)
+ *           _lcreat   (KERNEL32.593)
  */
 HFILE WINAPI _lcreat( LPCSTR path, INT attr )
 {
+    /* Mask off all flags not explicitly allowed by the doc */
+    attr &= FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM;
     TRACE(file, "%s %02x\n", path, attr );
     return CreateFileA( path, GENERIC_READ | GENERIC_WRITE,
-                          FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
-                          CREATE_ALWAYS, attr, -1 );
-}
-
-
-/***********************************************************************
- *           _lcreat16_uniq   (Not a Windows API)
- */
-HFILE16 _lcreat16_uniq( LPCSTR path, INT attr )
-{
-    TRACE(file, "%s %02x\n", path, attr );
-    return FILE_AllocDosHandle( CreateFileA( path, GENERIC_READ | GENERIC_WRITE,
-                                               FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
-                                               CREATE_NEW, attr, -1 ));
+                        FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
+                        CREATE_ALWAYS, attr, -1 );
 }