diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2020-01-02 21:01:38 +0100 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2020-01-02 21:01:38 +0100 |
commit | f7d30133221896638f7bf4f66c504255c4b14f48 (patch) | |
tree | 5f3e07a049f388a3a309a615b8884318f6668a98 /nsprpub/lib/prstreams | |
parent | 26b297510a11758727438df4669357a2a2bc42ce (diff) | |
download | UXP-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.in | 6 | ||||
-rw-r--r-- | nsprpub/lib/prstreams/plvrsion.c | 8 | ||||
-rw-r--r-- | nsprpub/lib/prstreams/prstrms.cpp | 7 | ||||
-rw-r--r-- | nsprpub/lib/prstreams/prstrms.h | 44 | ||||
-rw-r--r-- | nsprpub/lib/prstreams/tests/testprstrm/Makefile.in | 8 | ||||
-rw-r--r-- | nsprpub/lib/prstreams/tests/testprstrm/testprstrm.cpp | 233 |
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; } |