Merge from SFTP.
authorTom Sutcliffe <thomas.sutcliffe@accenture.com>
Thu, 29 Jul 2010 19:16:52 +0100
changeset 20 75412e452636
parent 13 eb50996ae8a8 (current diff)
parent 19 cb341c55f6e8 (diff)
child 21 7b569e2061c7
Merge from SFTP. Removed the --diag-supress ifdef, as it was only due to me not being able to spell --diag_suppress! (which is supported on all versions of RVCT)
build/common/common.mmh
documentation/change_history.pod
documentation/common_mmh.pod
libraries/spcre/libpcre/group/libpcre.mmp
--- a/core/builtins/ymodem.cif	Thu Jul 29 18:50:12 2010 +0100
+++ b/core/builtins/ymodem.cif	Thu Jul 29 19:16:52 2010 +0100
@@ -22,19 +22,9 @@
 
 Allows the transfer of files to and from remote terminal software that supports YMODEM. Supports batch mode, allowing multiple files to be sent and received. Note, the console implementation that ymodem is attached to must support binary mode. If it doesn't, C<KErrExtensionNotSupported> (-47) will be reported. In practice, this currently means that one of the vt100 console variants (F<vt100cons.dll>, F<vt100busdevcons.dll>, F<vt100usbcons.dll>, F<vt100btcons.dll> or F<vt100tcpcons.dll>) must be used.
 
-==argument filename file_name optional multiple
-
-=over 4
-
-=item Send mode:
+Note, when sending, file names specified with wild characters are accepted. When receiving, specify a directory into which one or more files should be received. If no directory is specified, the received files will be saved in the current working directory (the name of each received file is provided by the sending end).
 
-The names of the files to be sent (wild characters are accepted). At least one file must be specified.
-
-=item Receive mode:
-
-The name of the directory in which to write the received files (the name of each received file is provided by the send). If not specified, the received files are saved in the current working directory
-
-=back
+==argument filename file_name optional multiple
 
 ==see-also
 
--- a/documentation/change_history.pod	Thu Jul 29 18:50:12 2010 +0100
+++ b/documentation/change_history.pod	Thu Jul 29 19:16:52 2010 +0100
@@ -16,7 +16,19 @@
 
 =head2 Release 000.4
 
-Added C<--codesegs> option to C<ps>. Build fixes.
+=over 5
+
+=item *
+
+Fixed a defect in iosrv.exe that caused a panic if a foreground read object was attached to a different end point. This was due to the read object being notified of a change in foreground before its iEndPoint member was updated. This member is now updated before attempting the attach, and is set to NULL in the event of a leave (resulting in the read object being left in an unattached state).
+
+=item *
+
+More build fixes. Changed the documentation builder to automatically prepend C<%EPOCROOT%> (converted to a path relative form) to pre-processor include path options that start with F<epoc32>. Prevously C<$(EPOCROOT)> was prepended in the makefile, which broke the documentation build because the pre-processor will only accept relative path include options.
+
+=item *
+
+Added C<--codesegs> option to C<ps>.
 
 =head2 Release 000.2, 000.3
 
--- a/documentation/fshell_builddocs.mk	Thu Jul 29 18:50:12 2010 +0100
+++ b/documentation/fshell_builddocs.mk	Thu Jul 29 19:16:52 2010 +0100
@@ -10,12 +10,12 @@
 # Accenture - Initial contribution
 #
 BLD :
-	..\tools\fsh-builddocs -i $(EPOCROOT)epoc32/include pod-list.txt
+	..\tools\fsh-builddocs -i epoc32/include pod-list.txt
 
 RELEASABLES :
-	..\tools\fsh-builddocs -i $(EPOCROOT)epoc32/include pod-list.txt -w
+	..\tools\fsh-builddocs -i epoc32/include pod-list.txt -w
 
 CLEAN :
-	..\tools\fsh-builddocs -i $(EPOCROOT)epoc32/include pod-list.txt -c
+	..\tools\fsh-builddocs -i epoc32/include pod-list.txt -c
 
 MAKMAKE FREEZE LIB CLEANLIB RESOURCE SAVESPACE FINAL : 
--- a/libraries/iosrv/server/readwrite.cpp	Thu Jul 29 18:50:12 2010 +0100
+++ b/libraries/iosrv/server/readwrite.cpp	Thu Jul 29 19:16:52 2010 +0100
@@ -362,8 +362,13 @@
 		ReadEndPoint()->IorepDetach(*this);
 		}
 
-	aEndPoint.IorepAttachL(*this, aMode);
 	iEndPoint = &aEndPoint;
+	TRAPD(err, aEndPoint.IorepAttachL(*this, aMode));
+	if (err)
+		{
+		iEndPoint = NULL;
+		User::Leave(err);
+		}
 	}
 
 void CIoReadObject::SetReadMode(RIoReadHandle::TReadMode aMode)
@@ -954,8 +959,13 @@
 		WriteEndPoint()->IowepDetach(*this);
 		}
 
-	aEndPoint.IowepAttachL(*this);
 	iEndPoint = &aEndPoint;
+	TRAPD(err, aEndPoint.IowepAttachL(*this));
+	if (err)
+		{
+		iEndPoint = NULL;
+		User::Leave(err);
+		}
 	}
 
 void CIoWriteObject::WriteL(const RMsg& aMessage)
--- a/tools/fsh-builddocs	Thu Jul 29 18:50:12 2010 +0100
+++ b/tools/fsh-builddocs	Thu Jul 29 19:16:52 2010 +0100
@@ -1,12 +1,12 @@
 #!perl
 # fsh-builddocs
-# 
+#
 # Copyright (c) 2010 Accenture. All rights reserved.
 # This component and the accompanying materials are made available
 # under the terms of the "Eclipse Public License v1.0"
 # which accompanies this distribution, and is available
 # at the URL "http://www.eclipse.org/legal/epl-v10.html".
-# 
+#
 # Initial Contributors:
 # Accenture - Initial contribution
 
@@ -83,6 +83,15 @@
 	     'i|include=s' => $options{includes}) or DisplayHelp();
   DisplayHelp() if ($help);
   warn "Invalid arguments\n" and DisplayHelp() unless (@ARGV == 1);
+
+  my $relativeEpocRootPath = fshu::RelativePath($ENV{EPOCROOT}, cwd());
+  $relativeEpocRootPath =~ s/\\/\//g; # '\' -> '/'.
+  foreach my $include (@{$options{includes}}) {
+    if ($include =~ /^epoc32/i) {
+      $include = "${relativeEpocRootPath}$include";
+    }
+  }
+
   return shift @ARGV;
 }
 
@@ -104,7 +113,7 @@
   my $spec;
 
   my $currentDir;
-  my $currentFile;
+  my $currentFile = $podListFileName;
   my $currentLine = 0;
   while (my $line = <CPP>) {
     ++$currentLine;