Update SNAPSHOT for OpenOffice 4.1.2-RC3.
git-svn-id: https://svn.apache.org/repos/asf/openoffice/tags/SNAPSHOT@1709699 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/main/NOTICE b/main/NOTICE
index 52b20ee..075ff93 100644
--- a/main/NOTICE
+++ b/main/NOTICE
@@ -1,5 +1,5 @@
Apache OpenOffice (http://www.openoffice.org)
-Copyright 2011, 2014 The Apache Software Foundation
+Copyright 2011, 2015 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
diff --git a/main/extensions.lst b/main/extensions.lst
index 736da8f..b7e94a8 100644
--- a/main/extensions.lst
+++ b/main/extensions.lst
@@ -137,7 +137,7 @@
# Portuguese (European).
[ language=pt || language=pt_PT ]
- c29cd2b68639b4fe78e98f88f1b4dd8e http://sourceforge.net/projects/aoo-extensions/files/1196/30/oo3x-pt-pt-14.7.8.2.oxt/download "dict-pt.oxt"
+ 290d182dfad2c65ae2103228a8ed355f http://sourceforge.net/projects/aoo-extensions/files/1196/36/oo3x-pt-pt-15.10.3.1.oxt/download "dict-pt.oxt"
# Catalan.
[ language=ca ]
diff --git a/main/i18npool/source/search/textsearch.cxx b/main/i18npool/source/search/textsearch.cxx
index ec16d4f..6b646d1 100644
--- a/main/i18npool/source/search/textsearch.cxx
+++ b/main/i18npool/source/search/textsearch.cxx
@@ -241,10 +241,18 @@
sres = (this->*fnForward)( in_str, newStartPos, newEndPos );
+ sal_Int32 nOffsetLength = offset.getLength();
+ sal_Int32 nStartOffset = 0;
for ( int k = 0; k < sres.startOffset.getLength(); k++ )
{
- if (sres.startOffset[k])
- sres.startOffset[k] = offset[sres.startOffset[k]];
+ nStartOffset = sres.startOffset[k];
+ if ( nStartOffset )
+ {
+ if ( nStartOffset < nOffsetLength )
+ sres.startOffset[k] = offset[nStartOffset];
+ else
+ sres.startOffset[k] = offset[offset.getLength()-1] +1;
+ }
// JP 20.6.2001: end is ever exclusive and then don't return
// the position of the next character - return the
// next position behind the last found character!
@@ -330,6 +338,8 @@
sres = (this->*fnBackward)( in_str, newStartPos, newEndPos );
+ sal_Int32 nOffsetLength = offset.getLength();
+ sal_Int32 nEndOffset = 0;
for ( int k = 0; k < sres.startOffset.getLength(); k++ )
{
if (sres.startOffset[k])
@@ -338,8 +348,14 @@
// the position of the next character - return the
// next position behind the last found character!
// "a b c" find "b" must return 2,3 and not 2,4!!!
- if (sres.endOffset[k])
- sres.endOffset[k] = offset[sres.endOffset[k]];
+ nEndOffset = sres.endOffset[k];
+ if ( nEndOffset )
+ {
+ if ( nEndOffset < nOffsetLength )
+ sres.endOffset[k] = offset[nEndOffset];
+ else
+ sres.endOffset[k] = offset[offset.getLength()-1] +1;
+ }
}
}
else
diff --git a/main/sal/osl/unx/socket.c b/main/sal/osl/unx/socket.c
index 8ebe30c..1f8aaab 100644
--- a/main/sal/osl/unx/socket.c
+++ b/main/sal/osl/unx/socket.c
@@ -490,7 +490,7 @@
pSocket->m_CallbackArg = 0;
pSocket->m_nRefCount = 1;
-#if defined(LINUX)
+#if CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT
pSocket->m_bIsAccepting = sal_False;
#endif
@@ -1824,13 +1824,13 @@
{
if( pSocket && 0 == osl_decrementInterlockedCount( &(pSocket->m_nRefCount) ) )
{
-#if defined(LINUX)
+#if CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT
if ( pSocket->m_bIsAccepting == sal_True )
{
OSL_ENSURE(0, "osl_destroySocket : attempt to destroy socket while accepting\n");
return;
}
-#endif /* LINUX */
+#endif /* CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT */
osl_closeSocket( pSocket );
__osl_destroySocketImpl( pSocket );
}
@@ -1858,7 +1858,7 @@
pSocket->m_Socket = OSL_INVALID_SOCKET;
-#if defined(LINUX)
+#if CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT
pSocket->m_bIsInShutdown = sal_True;
if ( pSocket->m_bIsAccepting == sal_True )
@@ -1904,7 +1904,7 @@
}
pSocket->m_bIsAccepting = sal_False;
}
-#endif /* LINUX */
+#endif /* CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT */
/* registrierten Callback ausfuehren */
if (pSocket->m_CloseCallback != NULL)
@@ -2185,9 +2185,9 @@
}
pSocket->m_nLastError=0;
-#if defined(LINUX)
+#if CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT
pSocket->m_bIsAccepting = sal_True;
-#endif /* LINUX */
+#endif /* CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT */
if( ppAddr && *ppAddr )
{
@@ -2208,23 +2208,23 @@
pSocket->m_nLastError=errno;
OSL_TRACE("osl_acceptConnectionOnSocket : accept error '%s'\n",strerror(errno));
-#if defined(LINUX)
+#if CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT
pSocket->m_bIsAccepting = sal_False;
-#endif /* LINUX */
+#endif /* CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT */
return 0;
}
OSL_ASSERT(AddrLen == sizeof(struct sockaddr));
-#if defined(LINUX)
+#if CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT
if ( pSocket->m_bIsInShutdown == sal_True )
{
close(Connection);
OSL_TRACE("osl_acceptConnectionOnSocket : close while accept\n");
return 0;
}
-#endif /* LINUX */
+#endif /* CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT */
if(ppAddr)
@@ -2253,11 +2253,11 @@
pConnectionSockImpl->m_nLastError = 0;
pConnectionSockImpl->m_CloseCallback = NULL;
pConnectionSockImpl->m_CallbackArg = NULL;
-#if defined(LINUX)
+#if CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT
pConnectionSockImpl->m_bIsAccepting = sal_False;
pSocket->m_bIsAccepting = sal_False;
-#endif /* LINUX */
+#endif /* CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT */
return pConnectionSockImpl;
}
diff --git a/main/sal/osl/unx/sockimpl.h b/main/sal/osl/unx/sockimpl.h
index 8c12e1a..2cec813 100644
--- a/main/sal/osl/unx/sockimpl.h
+++ b/main/sal/osl/unx/sockimpl.h
@@ -33,6 +33,12 @@
#endif
typedef void* (*oslCloseCallback) (void*);
+
+#if defined(LINUX) || defined(FREEBSD) || defined(NETBSD)
+#define CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT 1
+#else
+#define CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT 0
+#endif
struct oslSocketImpl {
int m_Socket;
@@ -40,7 +46,7 @@
oslCloseCallback m_CloseCallback;
void* m_CallbackArg;
oslInterlockedCount m_nRefCount;
-#if defined(LINUX)
+#if CLOSESOCKET_DOESNT_WAKE_UP_ACCEPT
sal_Bool m_bIsAccepting;
sal_Bool m_bIsInShutdown;
#endif
diff --git a/main/sal/osl/w32/file_error.c b/main/sal/osl/w32/file_error.c
index 322c7f7..44222f5 100644
--- a/main/sal/osl/w32/file_error.c
+++ b/main/sal/osl/w32/file_error.c
@@ -87,8 +87,9 @@
{ ERROR_NESTING_NOT_ALLOWED, osl_File_E_AGAIN }, /* 215 */
{ ERROR_DIRECTORY, osl_File_E_NOENT }, /* 267 */
{ ERROR_NOT_ENOUGH_QUOTA, osl_File_E_NOMEM }, /* 1816 */
+ { ERROR_CANT_ACCESS_FILE, osl_File_E_ACCES }, /* 1920 */
{ ERROR_UNEXP_NET_ERR, osl_File_E_NETWORK }, /* 59 */
- { ERROR_FILE_CHECKED_OUT, osl_File_E_LOCKED }, /* 220 The file is locked or checked out by another user. */
+ { ERROR_FILE_CHECKED_OUT, osl_File_E_ACCES }, /* 220 The file is locked or checked out by another user. */
{ ERROR_INVALID_NAME, osl_File_E_NOENT } /* 123 One or more of the names composing the file path has a wrong syntax. */
};
diff --git a/main/solenv/inc/minor.mk b/main/solenv/inc/minor.mk
index 02c12ec..6ce1147 100644
--- a/main/solenv/inc/minor.mk
+++ b/main/solenv/inc/minor.mk
@@ -19,7 +19,7 @@
#
# *************************************************************
RSCVERSION=412
-RSCREVISION=412m2(Build:9781)
-BUILD=9781
-LAST_MINOR=m2
+RSCREVISION=412m3(Build:9782)
+BUILD=9782
+LAST_MINOR=m3
SOURCEVERSION=AOO412