persistentstorage/sql/OsLayer/os_symbian.cpp
changeset 46 826b40dcb0a8
parent 41 3256212fc81f
--- a/persistentstorage/sql/OsLayer/os_symbian.cpp	Wed Aug 18 11:30:17 2010 +0300
+++ b/persistentstorage/sql/OsLayer/os_symbian.cpp	Thu Sep 02 22:18:45 2010 +0300
@@ -1604,6 +1604,14 @@
 	(void)parse.AddDir(KTempFileDir);//this call can't fail
     __FS_CALL(EFsOpFileCreateTemp, 0);
     TInt err = aDbFile.iFileBuf.Temp(osLayerData.iFs, parse.FullName(), parse.FileName(), EFileRead|EFileWrite|EDeleteOnClose);        
+    if(err == KErrPathNotFound)
+        {
+        err = osLayerData.iFs.MkDirAll(parse.DriveAndPath());
+        if(err == KErrNone)
+            {
+            err = aDbFile.iFileBuf.Temp(osLayerData.iFs, parse.FullName(), parse.FileName(), EFileRead|EFileWrite|EDeleteOnClose);
+            }
+        }
     if(err == KErrNone)
         {
         TInt recReadBufSize = -1;