persistentstorage/sql/OsLayer/os_symbian.cpp
changeset 40 b8bdbc8f59c7
parent 31 ba1c4f4a893f
child 51 7d4490026038
--- a/persistentstorage/sql/OsLayer/os_symbian.cpp	Thu Jul 08 12:09:58 2010 +0100
+++ b/persistentstorage/sql/OsLayer/os_symbian.cpp	Thu Aug 12 11:53:23 2010 +0100
@@ -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;