summaryrefslogtreecommitdiffstats
path: root/nsprpub/lib/prstreams
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2020-01-02 21:01:38 +0100
committerwolfbeast <mcwerewolf@wolfbeast.com>2020-01-02 21:01:38 +0100
commitf7d30133221896638f7bf4f66c504255c4b14f48 (patch)
tree5f3e07a049f388a3a309a615b8884318f6668a98 /nsprpub/lib/prstreams
parent26b297510a11758727438df4669357a2a2bc42ce (diff)
downloadUXP-f7d30133221896638f7bf4f66c504255c4b14f48.tar
UXP-f7d30133221896638f7bf4f66c504255c4b14f48.tar.gz
UXP-f7d30133221896638f7bf4f66c504255c4b14f48.tar.lz
UXP-f7d30133221896638f7bf4f66c504255c4b14f48.tar.xz
UXP-f7d30133221896638f7bf4f66c504255c4b14f48.zip
Issue #1338 - Part 1: Update NSPR to 4.24
Diffstat (limited to 'nsprpub/lib/prstreams')
-rw-r--r--nsprpub/lib/prstreams/Makefile.in6
-rw-r--r--nsprpub/lib/prstreams/plvrsion.c8
-rw-r--r--nsprpub/lib/prstreams/prstrms.cpp7
-rw-r--r--nsprpub/lib/prstreams/prstrms.h44
-rw-r--r--nsprpub/lib/prstreams/tests/testprstrm/Makefile.in8
-rw-r--r--nsprpub/lib/prstreams/tests/testprstrm/testprstrm.cpp233
6 files changed, 154 insertions, 152 deletions
diff --git a/nsprpub/lib/prstreams/Makefile.in b/nsprpub/lib/prstreams/Makefile.in
index aeb29440f..a380cab40 100644
--- a/nsprpub/lib/prstreams/Makefile.in
+++ b/nsprpub/lib/prstreams/Makefile.in
@@ -14,12 +14,6 @@ include $(MOD_DEPTH)/config/autoconf.mk
include $(topsrcdir)/config/config.mk
-ifeq ($(OS_ARCH), IRIX)
- ifneq ($(OS_RELEASE),5.3)
- CCC_ONLY_FLAGS += -exceptions
- endif
-endif
-
ifeq ($(OS_ARCH), BeOS)
CFLAGS += -frtti -fexceptions
endif
diff --git a/nsprpub/lib/prstreams/plvrsion.c b/nsprpub/lib/prstreams/plvrsion.c
index 27fd058d7..a8332ff6f 100644
--- a/nsprpub/lib/prstreams/plvrsion.c
+++ b/nsprpub/lib/prstreams/plvrsion.c
@@ -54,7 +54,7 @@ PRVersionDescription VERSION_DESC_NAME =
/* filename */ _PRODUCTION, /* the produced library name */
/* description */ "Portable runtime", /* what we are */
/* security */ "N/A", /* not applicable here */
- /* copywrite */ "Copyright (c) 1998 Netscape Communications Corporation. All Rights Reserved",
+ /* copywrite */ "This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.",
/* comment */ "http://www.mozilla.org/MPL/",
/* specialString */ ""
};
@@ -68,9 +68,9 @@ PRVersionDescription VERSION_DESC_NAME =
* must not end in a '$' to prevent rcs keyword substitution.
*/
static char rcsid[] = "$Header: NSPR " PR_VERSION _DEBUG_STRING
- " " _BUILD_STRING " $";
+ " " _BUILD_STRING " $";
static char sccsid[] = "@(#)NSPR " PR_VERSION _DEBUG_STRING
- " " _BUILD_STRING;
+ " " _BUILD_STRING;
#endif /* XP_UNIX */
@@ -86,7 +86,7 @@ PR_IMPLEMENT(const PRVersionDescription*) libVersionPoint()
* from being optimized away as unused variables.
*/
const char *dummy;
-
+
dummy = rcsid;
dummy = sccsid;
#endif
diff --git a/nsprpub/lib/prstreams/prstrms.cpp b/nsprpub/lib/prstreams/prstrms.cpp
index d601fce23..878175df5 100644
--- a/nsprpub/lib/prstreams/prstrms.cpp
+++ b/nsprpub/lib/prstreams/prstrms.cpp
@@ -115,7 +115,7 @@ PRfilebuf *PRfilebuf::open(
_opened = true;
if (ate &&
- seekoff(0, ios_base::end, flags) == pos_type(traits_type::eof())) {
+ seekoff(0, ios_base::end, flags) == pos_type(traits_type::eof())) {
close();
return NULL;
}
@@ -138,13 +138,14 @@ PRfilebuf *PRfilebuf::attach(PRFileDesc *fd)
PRfilebuf *PRfilebuf::close()
{
- if (_fd == NULL)
+ if (_fd == NULL) {
return NULL;
+ }
int status = sync();
if (PR_Close(_fd) == PR_FAILURE ||
- traits_type::eq_int_type(status, traits_type::eof())) {
+ traits_type::eq_int_type(status, traits_type::eof())) {
return NULL;
}
diff --git a/nsprpub/lib/prstreams/prstrms.h b/nsprpub/lib/prstreams/prstrms.h
index 319dbf9de..113a41627 100644
--- a/nsprpub/lib/prstreams/prstrms.h
+++ b/nsprpub/lib/prstreams/prstrms.h
@@ -34,24 +34,26 @@ public:
PRfilebuf(PRFileDesc *fd, char_type *ptr, std::streamsize len);
virtual ~PRfilebuf();
- bool is_open() const { return _fd != NULL; }
+ bool is_open() const {
+ return _fd != NULL;
+ }
PRfilebuf *open(
- const char *name,
- std::ios_base::openmode flags,
- PRIntn mode);
+ const char *name,
+ std::ios_base::openmode flags,
+ PRIntn mode);
PRfilebuf *attach(PRFileDesc *fd);
PRfilebuf *close();
protected:
virtual std::streambuf *setbuf(char_type *ptr, std::streamsize len);
virtual pos_type seekoff(
- off_type offset,
- std::ios_base::seekdir dir,
- std::ios_base::openmode flags);
+ off_type offset,
+ std::ios_base::seekdir dir,
+ std::ios_base::openmode flags);
virtual pos_type seekpos(
- pos_type pos,
- std::ios_base::openmode flags) {
+ pos_type pos,
+ std::ios_base::openmode flags) {
return seekoff(pos, std::ios_base::beg, flags);
}
virtual int sync();
@@ -83,8 +85,12 @@ public:
PRifstream(const char *name, openmode flags = in, PRIntn mode = 0);
virtual ~PRifstream();
- PRfilebuf *rdbuf() const { return &_filebuf; }
- bool is_open() const { return _filebuf.is_open(); }
+ PRfilebuf *rdbuf() const {
+ return &_filebuf;
+ }
+ bool is_open() const {
+ return _filebuf.is_open();
+ }
void open(const char *name, openmode flags = in, PRIntn mode = 0);
void attach(PRFileDesc *fd);
@@ -104,8 +110,12 @@ public:
PRofstream(const char *name, openmode flags = out, PRIntn mode = 0);
virtual ~PRofstream();
- PRfilebuf *rdbuf() const { return &_filebuf; }
- bool is_open() const { return _filebuf.is_open(); }
+ PRfilebuf *rdbuf() const {
+ return &_filebuf;
+ }
+ bool is_open() const {
+ return _filebuf.is_open();
+ }
void open(const char *name, openmode flags = out, PRIntn mode = 0);
void attach(PRFileDesc *fd);
@@ -125,8 +135,12 @@ public:
PRfstream(const char *name, openmode flags = in | out, PRIntn mode = 0);
virtual ~PRfstream();
- PRfilebuf *rdbuf() const { return &_filebuf; }
- bool is_open() const { return _filebuf.is_open(); }
+ PRfilebuf *rdbuf() const {
+ return &_filebuf;
+ }
+ bool is_open() const {
+ return _filebuf.is_open();
+ }
void open(const char *name, openmode flags = in | out, PRIntn mode = 0);
void attach(PRFileDesc *fd);
diff --git a/nsprpub/lib/prstreams/tests/testprstrm/Makefile.in b/nsprpub/lib/prstreams/tests/testprstrm/Makefile.in
index 1271f94b2..74ef1ac2c 100644
--- a/nsprpub/lib/prstreams/tests/testprstrm/Makefile.in
+++ b/nsprpub/lib/prstreams/tests/testprstrm/Makefile.in
@@ -57,14 +57,6 @@ ifneq ($(OS_ARCH), WINNT)
PWD = $(shell pwd)
endif
-ifeq ($(OS_ARCH), IRIX)
-LDOPTS += -rpath $(PWD)/$(dist_libdir)
-endif
-
-ifeq ($(OS_ARCH), OSF1)
-LDOPTS += -rpath $(PWD)/$(dist_libdir)
-endif
-
ifeq ($(OS_ARCH), HP-UX)
LDOPTS += -Wl,+s,+b,$(PWD)/$(dist_libdir)
endif
diff --git a/nsprpub/lib/prstreams/tests/testprstrm/testprstrm.cpp b/nsprpub/lib/prstreams/tests/testprstrm/testprstrm.cpp
index 12011c8a6..236e6ac64 100644
--- a/nsprpub/lib/prstreams/tests/testprstrm/testprstrm.cpp
+++ b/nsprpub/lib/prstreams/tests/testprstrm/testprstrm.cpp
@@ -28,7 +28,7 @@ typedef struct threadarg {
void threadwork(threadarg *arg);
-void
+void
threadmain(void *mytag)
{
threadarg arg;
@@ -41,131 +41,132 @@ threadmain(void *mytag)
void
threadwork(threadarg *arg)
{
- unsigned int i;
+ unsigned int i;
- char fname1[256];
- char fname2[256];
+ char fname1[256];
+ char fname2[256];
- strcpy(fname1, arg->mytag);
- strcpy(fname2, arg->mytag);
- strcat(fname2, "2");
- PR_Delete(fname1);
- PR_Delete(fname2);
+ strcpy(fname1, arg->mytag);
+ strcpy(fname2, arg->mytag);
+ strcat(fname2, "2");
+ PR_Delete(fname1);
+ PR_Delete(fname2);
- PRfilebuf *fb[MaxCnt];
- PRifstream *ifs[MaxCnt];
- PRofstream *ofs[MaxCnt];
- int mode = 0;
+ PRfilebuf *fb[MaxCnt];
+ PRifstream *ifs[MaxCnt];
+ PRofstream *ofs[MaxCnt];
+ int mode = 0;
#ifdef XP_UNIX
- mode = S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH;
+ mode = S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH;
#endif
- //
- // Allocate a bunch
- cout << "Testing unused filebufs ----------------" << endl;
- for (i=0; i < MaxCnt; i++){
- fb[i] = new PRfilebuf;
- }
- // Delete them
- for (i=0; i < MaxCnt; i++){
- delete fb[i];
- }
- cout << "Unused filebufs complete ---------------" << endl;
-
- //
- // Allocate a bunch
- cout << "Testing unused ifstream -----------------" << endl;
- for (i=0; i < MaxCnt; i++){
- ifs[i] = new PRifstream;
- }
- //
- // Delete them
- for (i=0; i < MaxCnt; i++){
- delete ifs[i];
- }
- cout << "Unused ifstream complete ----------------" << endl;
- //
- // Allocate a bunch
- cout << "Testing unused ofstream -----------------" << endl;
- for (i=0; i < MaxCnt; i++){
- ofs[i] = new PRofstream;
- }
- for (i=0; i < MaxCnt; i++){
- *(ofs[i]) << "A"; // Write a bit
- delete ofs[i]; // Delete it.
- }
- cout << "Unused ofstream complete ----------------" << endl;
-
- cout << "Testing use of ofstream 1 (extra filebuf allocated) ---------" << endl;
- PRofstream *aos = new PRofstream(fname1, ios::out|ios::ate, mode);
- for (i=0; i < MaxCnt; i++){
- for (int j=0; j < 8192; j++)
- *aos << "AaBbCcDdEeFfGg" << endl;
- fb[i] = new PRfilebuf; // Allocate as we go to hack at the heap
- }
- //
- // Delete the extra foo we allocated
- for (i=0; i < MaxCnt; i++){
- delete fb[i];
- }
- aos->flush(); // Explicit flush
- delete aos;
- cout << "Testing use of ofstream 1 complete (extra filebuf deleted) --" << endl;
- cout << "Testing use of ofstream 2 (extra filebuf allocated) ---------" << endl;
- PRofstream *aos2 = new PRofstream(fname2, ios::out, mode);
-
- for (i=0; i < MaxCnt; i++){
- *aos2 << "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz";
- }
- // Force flushing in the dtor
- delete aos2;
- cout << "Testing use of ofstream 2 complete (extra filebuf deleted) --" << endl;
- char line[1024];
- cout << "Testing use of ifstream 1 (stack allocation) -------------" << endl;
- PRifstream ais(fname1);
- for (i=0; i < MaxCnt; i++){
- ais >> line;
- }
- cout << "Testing use of ifstream 1 complete -----------------------" << endl;
- cout << "Testing use of ifstream 2 ----------------------" << endl;
- PRifstream *ais2 = new PRifstream(fname2);
- char achar;
- for (i=0; i < MaxCnt*10; i++){
- *ais2 >> achar;
- }
- delete ais2;
- cout << "Testing use of ifstream 2 complete -------------" << endl;
+ //
+ // Allocate a bunch
+ cout << "Testing unused filebufs ----------------" << endl;
+ for (i=0; i < MaxCnt; i++) {
+ fb[i] = new PRfilebuf;
+ }
+ // Delete them
+ for (i=0; i < MaxCnt; i++) {
+ delete fb[i];
+ }
+ cout << "Unused filebufs complete ---------------" << endl;
+
+ //
+ // Allocate a bunch
+ cout << "Testing unused ifstream -----------------" << endl;
+ for (i=0; i < MaxCnt; i++) {
+ ifs[i] = new PRifstream;
+ }
+ //
+ // Delete them
+ for (i=0; i < MaxCnt; i++) {
+ delete ifs[i];
+ }
+ cout << "Unused ifstream complete ----------------" << endl;
+ //
+ // Allocate a bunch
+ cout << "Testing unused ofstream -----------------" << endl;
+ for (i=0; i < MaxCnt; i++) {
+ ofs[i] = new PRofstream;
+ }
+ for (i=0; i < MaxCnt; i++) {
+ *(ofs[i]) << "A"; // Write a bit
+ delete ofs[i]; // Delete it.
+ }
+ cout << "Unused ofstream complete ----------------" << endl;
+
+ cout << "Testing use of ofstream 1 (extra filebuf allocated) ---------" << endl;
+ PRofstream *aos = new PRofstream(fname1, ios::out|ios::ate, mode);
+ for (i=0; i < MaxCnt; i++) {
+ for (int j=0; j < 8192; j++) {
+ *aos << "AaBbCcDdEeFfGg" << endl;
+ }
+ fb[i] = new PRfilebuf; // Allocate as we go to hack at the heap
+ }
+ //
+ // Delete the extra foo we allocated
+ for (i=0; i < MaxCnt; i++) {
+ delete fb[i];
+ }
+ aos->flush(); // Explicit flush
+ delete aos;
+ cout << "Testing use of ofstream 1 complete (extra filebuf deleted) --" << endl;
+ cout << "Testing use of ofstream 2 (extra filebuf allocated) ---------" << endl;
+ PRofstream *aos2 = new PRofstream(fname2, ios::out, mode);
+
+ for (i=0; i < MaxCnt; i++) {
+ *aos2 << "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz";
+ }
+ // Force flushing in the dtor
+ delete aos2;
+ cout << "Testing use of ofstream 2 complete (extra filebuf deleted) --" << endl;
+ char line[1024];
+ cout << "Testing use of ifstream 1 (stack allocation) -------------" << endl;
+ PRifstream ais(fname1);
+ for (i=0; i < MaxCnt; i++) {
+ ais >> line;
+ }
+ cout << "Testing use of ifstream 1 complete -----------------------" << endl;
+ cout << "Testing use of ifstream 2 ----------------------" << endl;
+ PRifstream *ais2 = new PRifstream(fname2);
+ char achar;
+ for (i=0; i < MaxCnt*10; i++) {
+ *ais2 >> achar;
+ }
+ delete ais2;
+ cout << "Testing use of ifstream 2 complete -------------" << endl;
}
#define STACKSIZE 1024*1024
int
main()
{
- PR_Init(PR_SYSTEM_THREAD, PR_PRIORITY_NORMAL, 256);
- threadmain(const_cast<char *>("TestFile"));
- PRThread *thr1 = PR_CreateThread(PR_SYSTEM_THREAD,
- threadmain,
- const_cast<char *>("TestFile1"),
- PR_PRIORITY_NORMAL,
- PR_GLOBAL_THREAD,
- PR_JOINABLE_THREAD,
- STACKSIZE);
- PRThread *thr2 = PR_CreateThread(PR_SYSTEM_THREAD,
- threadmain,
- const_cast<char *>("TestFile2"),
- PR_PRIORITY_NORMAL,
- PR_GLOBAL_THREAD,
- PR_JOINABLE_THREAD,
- STACKSIZE);
- PRThread *thr3 = PR_CreateThread(PR_SYSTEM_THREAD,
- threadmain,
- const_cast<char *>("TestFile3"),
- PR_PRIORITY_NORMAL,
- PR_GLOBAL_THREAD,
- PR_JOINABLE_THREAD,
- STACKSIZE);
- PR_JoinThread(thr1);
- PR_JoinThread(thr2);
- PR_JoinThread(thr3);
- return 0;
+ PR_Init(PR_SYSTEM_THREAD, PR_PRIORITY_NORMAL, 256);
+ threadmain(const_cast<char *>("TestFile"));
+ PRThread *thr1 = PR_CreateThread(PR_SYSTEM_THREAD,
+ threadmain,
+ const_cast<char *>("TestFile1"),
+ PR_PRIORITY_NORMAL,
+ PR_GLOBAL_THREAD,
+ PR_JOINABLE_THREAD,
+ STACKSIZE);
+ PRThread *thr2 = PR_CreateThread(PR_SYSTEM_THREAD,
+ threadmain,
+ const_cast<char *>("TestFile2"),
+ PR_PRIORITY_NORMAL,
+ PR_GLOBAL_THREAD,
+ PR_JOINABLE_THREAD,
+ STACKSIZE);
+ PRThread *thr3 = PR_CreateThread(PR_SYSTEM_THREAD,
+ threadmain,
+ const_cast<char *>("TestFile3"),
+ PR_PRIORITY_NORMAL,
+ PR_GLOBAL_THREAD,
+ PR_JOINABLE_THREAD,
+ STACKSIZE);
+ PR_JoinThread(thr1);
+ PR_JoinThread(thr2);
+ PR_JoinThread(thr3);
+ return 0;
}