From fc6822cb2c1a09b018189168965a8ade23cf1074 Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Mon, 2 Nov 2009 10:23:12 +0200 Subject: Fix for static QSound::play in Symbian and code style fixes. Static QSound::play(const QString& filename) API did work for Symbian, since local stack variable was deleted before asynchronous play completed. This happened with the following seqeunce: - void QAuServer::play() is called and creates a QSound on the stack - QAuBucketS60::play() is called - m_prepared is false, so the actual play will happen a bit later - The QSound created on the stack is deleted -> Silence This scenario is now fixed by making copy of QSound object to internal list, and temp object is being deleted when play is completed either successfully or unsuccessfully. Added also manual test case for static play. Task-number: QTBUG-5217 Reviewed-by: Miikka Heikkinen --- src/gui/kernel/qsound_s60.cpp | 94 ++++++++++++++++++++++++---------------- tests/auto/qsound/tst_qsound.cpp | 26 ++++++++--- 2 files changed, 75 insertions(+), 45 deletions(-) diff --git a/src/gui/kernel/qsound_s60.cpp b/src/gui/kernel/qsound_s60.cpp index 352580e..e4b7cec 100644 --- a/src/gui/kernel/qsound_s60.cpp +++ b/src/gui/kernel/qsound_s60.cpp @@ -60,13 +60,13 @@ class QAuServerS60; class QAuBucketS60 : public QAuBucket, public MMdaAudioPlayerCallback { public: - QAuBucketS60( QAuServerS60 *server, QSound *sound); + QAuBucketS60(QAuServerS60 *server, QSound *sound); ~QAuBucketS60(); void play(); void stop(); - inline QSound* sound() const { return m_sound; } + inline QSound *sound() const { return m_sound; } public: // from MMdaAudioPlayerCallback void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration); @@ -77,88 +77,106 @@ private: QAuServerS60 *m_server; bool m_prepared; bool m_playCalled; - CMdaAudioPlayerUtility* m_playUtility; + CMdaAudioPlayerUtility *m_playUtility; }; class QAuServerS60 : public QAuServer { public: - QAuServerS60( QObject* parent ); + QAuServerS60(QObject *parent); - void init( QSound* s ) + void init(QSound *s) { - QAuBucketS60 *bucket = new QAuBucketS60( this, s ); - setBucket( s, bucket ); + QAuBucketS60 *bucket = new QAuBucketS60(this, s); + setBucket(s, bucket); } - void play( QSound* s ) + void play(QSound *s) { - bucket( s )->play(); + bucket(s)->play(); } - void stop( QSound* s ) + void stop(QSound *s) { - bucket( s )->stop(); + bucket(s)->stop(); } bool okay() { return true; } + void play(const QString& filename); + protected: - void playCompleted(QAuBucketS60* bucket, int error) - { - QSound *sound = bucket->sound(); - if(!error) { - // We need to handle repeats by ourselves, since with Symbian API we don't - // know how many loops have been played when user asks it - if( decLoop( sound ) ) { - play( sound ); - } - } else { - // We don't have a way to inform about errors -> just decrement loops - // in order that QSound::isFinished will return true; - while(decLoop(sound)) {} - } - } + void playCompleted(QAuBucketS60 *bucket, int error); protected: - QAuBucketS60* bucket( QSound *s ) + QAuBucketS60 *bucket(QSound *s) { - return (QAuBucketS60*)QAuServer::bucket( s ); + return (QAuBucketS60 *)QAuServer::bucket( s ); } friend class QAuBucketS60; + // static QSound::play(filename) cannot be stopped, meaning that playCompleted + // will get always called and QSound gets removed form this list. + QList staticPlayingSounds; }; -QAuServerS60::QAuServerS60(QObject* parent) : +QAuServerS60::QAuServerS60(QObject *parent) : QAuServer(parent) { setObjectName(QLatin1String("QAuServerS60")); } +void QAuServerS60::play(const QString& filename) +{ + QSound *s = new QSound(filename); + staticPlayingSounds.append(s); + play(s); +} + +void QAuServerS60::playCompleted(QAuBucketS60 *bucket, int error) +{ + QSound *sound = bucket->sound(); + if (!error) { + // We need to handle repeats by ourselves, since with Symbian API we don't + // know how many loops have been played when user asks it + if (decLoop(sound)) { + play(sound); + } else { + if (staticPlayingSounds.removeAll(sound)) + delete sound; + } + } else { + // We don't have a way to inform about errors -> just decrement loops + // in order that QSound::isFinished will return true; + while (decLoop(sound)) {} + if (staticPlayingSounds.removeAll(sound)) + delete sound; + } +} -QAuServer* qt_new_audio_server() +QAuServer *qt_new_audio_server() { return new QAuServerS60(qApp); } -QAuBucketS60::QAuBucketS60( QAuServerS60 *server, QSound *sound ) - : m_sound( sound ), m_server( server ), m_prepared(false), m_playCalled(false) +QAuBucketS60::QAuBucketS60(QAuServerS60 *server, QSound *sound) + : m_sound(sound), m_server(server), m_prepared(false), m_playCalled(false) { - QString filepath = QFileInfo( m_sound->fileName() ).absoluteFilePath(); + QString filepath = QFileInfo(m_sound->fileName()).absoluteFilePath(); filepath = QDir::toNativeSeparators(filepath); TPtrC filepathPtr(qt_QString2TPtrC(filepath)); TRAPD(err, m_playUtility = CMdaAudioPlayerUtility::NewL(*this); m_playUtility->OpenFileL(filepathPtr)); - if(err){ + if (err) { m_server->playCompleted(this, err); } } void QAuBucketS60::play() { - if(m_prepared) { + if (m_prepared) { // OpenFileL call is completed we can start playing immediately m_playUtility->Play(); } else { @@ -180,11 +198,11 @@ void QAuBucketS60::MapcPlayComplete(TInt aError) void QAuBucketS60::MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& /*aDuration*/) { - if(aError) { + if (aError) { m_server->playCompleted(this, aError); } else { m_prepared = true; - if(m_playCalled){ + if (m_playCalled){ play(); } } @@ -192,7 +210,7 @@ void QAuBucketS60::MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds QAuBucketS60::~QAuBucketS60() { - if(m_playUtility){ + if (m_playUtility){ m_playUtility->Stop(); m_playUtility->Close(); } diff --git a/tests/auto/qsound/tst_qsound.cpp b/tests/auto/qsound/tst_qsound.cpp index 56a330b..73eca98 100644 --- a/tests/auto/qsound/tst_qsound.cpp +++ b/tests/auto/qsound/tst_qsound.cpp @@ -55,20 +55,32 @@ public: tst_QSound( QObject* parent=0) : QObject(parent) {} private slots: - void checkFinished(); + void checkFinished(); + + // Manual tests + void staticPlay(); }; void tst_QSound::checkFinished() { - QSound sound(SRCDIR"4.wav"); - sound.setLoops(3); - sound.play(); - QTest::qWait(5000); + QSound sound(SRCDIR"4.wav"); + sound.setLoops(3); + sound.play(); + QTest::qWait(5000); #if defined(Q_WS_QWS) - QEXPECT_FAIL("", "QSound buggy on embedded (task QTBUG-157)", Abort); + QEXPECT_FAIL("", "QSound buggy on embedded (task QTBUG-157)", Abort); #endif - QVERIFY(sound.isFinished() ); + QVERIFY(sound.isFinished() ); +} + +void tst_QSound::staticPlay() +{ + QSKIP("Test disabled -- only for manual purposes", SkipAll); + + // Check that you hear sound with static play also. + QSound::play(SRCDIR"4.wav"); + QTest::qWait(2000); } QTEST_MAIN(tst_QSound); -- cgit v0.12 eric/tclClock.c | 2 +- generic/tclCmdAH.c | 2 +- generic/tclCmdIL.c | 2 +- generic/tclCmdMZ.c | 2 +- generic/tclCompExpr.c | 2 +- generic/tclCompile.c | 2 +- generic/tclCompile.h | 2 +- generic/tclDate.c | 2 +- generic/tclEnv.c | 2 +- generic/tclEvent.c | 2 +- generic/tclExecute.c | 2 +- generic/tclFCmd.c | 2 +- generic/tclFileName.c | 2 +- generic/tclGet.c | 2 +- generic/tclGetDate.y | 2 +- generic/tclHash.c | 2 +- generic/tclHistory.c | 2 +- generic/tclIO.c | 2 +- generic/tclIOCmd.c | 2 +- generic/tclIOSock.c | 2 +- generic/tclIOUtil.c | 2 +- generic/tclIndexObj.c | 2 +- generic/tclInitScript.h | 2 +- generic/tclInt.h | 2 +- generic/tclInterp.c | 2 +- generic/tclLink.c | 2 +- generic/tclListObj.c | 2 +- generic/tclLoad.c | 2 +- generic/tclLoadNone.c | 2 +- generic/tclMain.c | 2 +- generic/tclMath.h | 2 +- generic/tclNamesp.c | 2 +- generic/tclNotify.c | 2 +- generic/tclObj.c | 2 +- generic/tclParse.c | 2 +- generic/tclPipe.c | 2 +- generic/tclPkg.c | 2 +- generic/tclPort.h | 2 +- generic/tclPosixStr.c | 2 +- generic/tclPreserve.c | 2 +- generic/tclProc.c | 2 +- generic/tclRegexp.h | 2 +- generic/tclResolve.c | 2 +- generic/tclStringObj.c | 2 +- generic/tclTest.c | 2 +- generic/tclTestObj.c | 2 +- generic/tclTimer.c | 2 +- generic/tclUtil.c | 2 +- generic/tclVar.c | 2 +- library/history.tcl | 2 +- library/http/http.tcl | 2 +- library/http1.0/http.tcl | 2 +- library/http2.0/http.tcl | 2 +- library/http2.1/http.tcl | 2 +- library/http2.3/http.tcl | 2 +- library/init.tcl | 2 +- library/ldAout.tcl | 2 +- library/opt0.1/optparse.tcl | 2 +- library/parray.tcl | 2 +- library/safe.tcl | 2 +- library/word.tcl | 2 +- mac/Background.doc | 2 +- mac/MW_TclAppleScriptHeader.pch | 2 +- mac/MW_TclHeader.pch | 2 +- mac/README | 2 +- mac/bugs.doc | 2 +- mac/libmoto.doc | 2 +- mac/morefiles.doc | 2 +- mac/porting.notes | 2 +- mac/tclMac.h | 2 +- mac/tclMacAETE.r | 2 +- mac/tclMacAlloc.c | 2 +- mac/tclMacAppInit.c | 2 +- mac/tclMacApplication.r | 2 +- mac/tclMacBOAAppInit.c | 2 +- mac/tclMacBOAMain.c | 2 +- mac/tclMacChan.c | 2 +- mac/tclMacDNR.c | 2 +- mac/tclMacEnv.c | 2 +- mac/tclMacExit.c | 2 +- mac/tclMacFCmd.c | 2 +- mac/tclMacFile.c | 2 +- mac/tclMacInit.c | 2 +- mac/tclMacInt.h | 2 +- mac/tclMacInterupt.c | 2 +- mac/tclMacLibrary.c | 2 +- mac/tclMacLibrary.r | 2 +- mac/tclMacLoad.c | 2 +- mac/tclMacMSLPrefix.h | 2 +- mac/tclMacMath.h | 2 +- mac/tclMacNotify.c | 2 +- mac/tclMacOSA.c | 2 +- mac/tclMacOSA.r | 2 +- mac/tclMacPanic.c | 2 +- mac/tclMacPort.h | 2 +- mac/tclMacProjects.sit.hqx | 6 +++--- mac/tclMacResource.c | 2 +- mac/tclMacResource.r | 2 +- mac/tclMacSock.c | 2 +- mac/tclMacTest.c | 2 +- mac/tclMacTime.c | 2 +- mac/tclMacUnix.c | 2 +- mac/tclMacUtil.c | 2 +- tests/README | 2 +- tests/all | 4 ++-- tests/append.test | 2 +- tests/assocd.test | 2 +- tests/async.test | 2 +- tests/autoMkindex.test | 2 +- tests/basic.test | 2 +- tests/binary.test | 2 +- tests/case.test | 2 +- tests/clock.test | 2 +- tests/cmdAH.test | 2 +- tests/cmdIL.test | 2 +- tests/cmdInfo.test | 2 +- tests/compile.test | 2 +- tests/concat.test | 2 +- tests/dcall.test | 2 +- tests/defs | 2 +- tests/dstring.test | 2 +- tests/env.test | 2 +- tests/error.test | 2 +- tests/eval.test | 2 +- tests/event.test | 2 +- tests/exec.test | 2 +- tests/execute.test | 2 +- tests/expr-old.test | 2 +- tests/expr.test | 2 +- tests/fCmd.test | 2 +- tests/fileName.test | 2 +- tests/for-old.test | 2 +- tests/for.test | 2 +- tests/foreach.test | 2 +- tests/format.test | 2 +- tests/get.test | 2 +- tests/history.test | 2 +- tests/http.test | 2 +- tests/httpold.test | 2 +- tests/if-old.test | 2 +- tests/if.test | 2 +- tests/incr-old.test | 2 +- tests/incr.test | 2 +- tests/indexObj.test | 2 +- tests/info.test | 2 +- tests/init.test | 2 +- tests/interp.test | 2 +- tests/io.test | 2 +- tests/ioCmd.test | 2 +- tests/ioUtil.test | 2 +- tests/join.test | 2 +- tests/lindex.test | 2 +- tests/link.test | 2 +- tests/linsert.test | 2 +- tests/list.test | 2 +- tests/listObj.test | 2 +- tests/llength.test | 2 +- tests/load.test | 2 +- tests/lrange.test | 2 +- tests/lreplace.test | 2 +- tests/lsearch.test | 2 +- tests/macFCmd.test | 2 +- tests/misc.test | 2 +- tests/namespace-old.test | 2 +- tests/namespace.test | 2 +- tests/obj.test | 2 +- tests/opt.test | 2 +- tests/osa.test | 2 +- tests/parse.test | 2 +- tests/pid.test | 2 +- tests/pkg.test | 2 +- tests/proc-old.test | 2 +- tests/proc.test | 2 +- tests/pwd.test | 2 +- tests/regexp.test | 2 +- tests/registry.test | 2 +- tests/remote.tcl | 2 +- tests/rename.test | 2 +- tests/resource.test | 2 +- tests/safe.test | 2 +- tests/scan.test | 2 +- tests/set-old.test | 2 +- tests/set.test | 2 +- tests/socket.test | 2 +- tests/source.test | 2 +- tests/split.test | 2 +- tests/string.test | 2 +- tests/stringObj.test | 2 +- tests/subst.test | 2 +- tests/switch.test | 2 +- tests/timer.test | 2 +- tests/trace.test | 2 +- tests/unixFCmd.test | 2 +- tests/unixFile.test | 2 +- tests/unixNotfy.test | 2 +- tests/unknown.test | 2 +- tests/uplevel.test | 2 +- tests/upvar.test | 2 +- tests/util.test | 2 +- tests/var.test | 2 +- tests/while-old.test | 2 +- tests/while.test | 2 +- tests/winFCmd.test | 2 +- tests/winNotify.test | 2 +- tests/winPipe.test | 2 +- tools/Makefile.in | 2 +- tools/configure.in | 2 +- tools/index.tcl | 2 +- tools/man2help.tcl | 2 +- tools/man2help2.tcl | 2 +- tools/man2tcl.c | 2 +- unix/Makefile.in | 4 ++-- unix/README | 2 +- unix/configure.in | 2 +- unix/dltest/Makefile.in | 2 +- unix/dltest/README | 2 +- unix/dltest/configure.in | 2 +- unix/dltest/pkga.c | 2 +- unix/dltest/pkgb.c | 2 +- unix/dltest/pkgc.c | 2 +- unix/dltest/pkgd.c | 2 +- unix/dltest/pkge.c | 2 +- unix/dltest/pkgf.c | 2 +- unix/ldAix | 2 +- unix/porting.notes | 2 +- unix/porting.old | 2 +- unix/tclAppInit.c | 2 +- unix/tclConfig.sh.in | 2 +- unix/tclLoadAix.c | 2 +- unix/tclLoadAout.c | 2 +- unix/tclLoadDl.c | 2 +- unix/tclLoadDld.c | 2 +- unix/tclLoadNext.c | 2 +- unix/tclLoadOSF.c | 2 +- unix/tclLoadShl.c | 2 +- unix/tclMtherr.c | 2 +- unix/tclUnixChan.c | 2 +- unix/tclUnixEvent.c | 2 +- unix/tclUnixFCmd.c | 2 +- unix/tclUnixFile.c | 2 +- unix/tclUnixInit.c | 2 +- unix/tclUnixNotfy.c | 2 +- unix/tclUnixPipe.c | 2 +- unix/tclUnixPort.h | 2 +- unix/tclUnixSock.c | 2 +- unix/tclUnixTest.c | 2 +- unix/tclUnixTime.c | 2 +- unix/tclXtNotify.c | 2 +- unix/tclXtTest.c | 2 +- win/README | 2 +- win/cat.c | 2 +- win/makefile.bc | 2 +- win/makefile.vc | 2 +- win/mkd.bat | 2 +- win/pkgIndex.tcl | 2 +- win/rmd.bat | 2 +- win/stub16.c | 2 +- win/tcl.rc | 2 +- win/tcl16.rc | 2 +- win/tclAppInit.c | 2 +- win/tclWin16.c | 2 +- win/tclWin32Dll.c | 2 +- win/tclWinChan.c | 2 +- win/tclWinError.c | 2 +- win/tclWinFCmd.c | 2 +- win/tclWinFile.c | 2 +- win/tclWinInit.c | 2 +- win/tclWinInt.h | 2 +- win/tclWinLoad.c | 2 +- win/tclWinMtherr.c | 2 +- win/tclWinNotify.c | 2 +- win/tclWinPipe.c | 2 +- win/tclWinPort.h | 2 +- win/tclWinReg.c | 2 +- win/tclWinSock.c | 2 +- win/tclWinTest.c | 2 +- win/tclWinTime.c | 2 +- win/tclsh.rc | 2 +- win/winDumpExts.c | 2 +- 471 files changed, 478 insertions(+), 479 deletions(-) diff --git a/README b/README index 1cf128e..a81fe72 100644 --- a/README +++ b/README @@ -1,6 +1,6 @@ Tcl -SCCS: %Z% $Id: README,v 1.9 1998/08/06 15:18:30 welch Exp $ +RCS: @(#) $Id: README,v 1.10 1998/09/14 18:39:43 stanton Exp $ 1. Introduction --------------- diff --git a/changes b/changes index 28671fc..4c6183a 100644 --- a/changes +++ b/changes @@ -1,6 +1,6 @@ Recent user-visible changes to Tcl: -SCCS: @(#) changes 1.338 97/11/25 08:30:52 +RCS: @(#) $Id: changes,v 1.21 1998/09/14 18:39:44 stanton Exp $ 1. No more [command1] [command2] construct for grouping multiple commands on a single command line. diff --git a/compat/README b/compat/README index 4ed8e54..38b9b05 100644 --- a/compat/README +++ b/compat/README @@ -5,4 +5,4 @@ Tcl when a system doesn't contain the corresponding files or when they are known to be incorrect. When the whole world becomes POSIX- compliant this directory should be unnecessary. -sccsid = SCCS: @(#) README 1.3 96/02/16 08:56:51 +RCS: @(#) $Id: README,v 1.2 1998/09/14 18:39:44 stanton Exp $ diff --git a/compat/dirent.h b/compat/dirent.h index 081376b..1368018 100644 --- a/compat/dirent.h +++ b/compat/dirent.h @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * SCCS: @(#) dirent.h 1.4 96/02/15 14:43:50 + * RCS: @(#) $Id: dirent.h,v 1.2 1998/09/14 18:39:44 stanton Exp $ */ #ifndef _DIRENT diff --git a/compat/dirent2.h b/compat/dirent2.h index 585a7e8..7c2406c 100644 --- a/compat/dirent2.h +++ b/compat/dirent2.h @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * SCCS: @(#) dirent2.h 1.4 96/02/15 14:43:51 + * RCS: @(#) $Id: dirent2.h,v 1.2 1998/09/14 18:39:44 stanton Exp $ */ #ifndef _DIRENT diff --git a/compat/dlfcn.h b/compat/dlfcn.h index cf02fb9..1dee078 100644 --- a/compat/dlfcn.h +++ b/compat/dlfcn.h @@ -17,7 +17,7 @@ * for any results of using the software, alterations are clearly marked * as such, and this notice is not modified. * - * SCCS: @(#) dlfcn.h 1.4 96/09/17 09:05:59 + * RCS: @(#) $Id: dlfcn.h,v 1.2 1998/09/14 18:39:44 stanton Exp $ */ /* diff --git a/compat/fixstrtod.c b/compat/fixstrtod.c index 2655767..165b7d1 100644 --- a/compat/fixstrtod.c +++ b/compat/fixstrtod.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * SCCS: @(#) fixstrtod.c 1.5 96/02/15 12:08:21 + * RCS: @(#) $Id: fixstrtod.c,v 1.2 1998/09/14 18:39:44 stanton Exp $ */ #include diff --git a/compat/float.h b/compat/float.h index 06db4fd..049f4a8 100644 --- a/compat/float.h +++ b/compat/float.h @@ -12,5 +12,5 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * SCCS: @(#) float.h 1.3 96/02/15 14:43:52 + * RCS: @(#) $Id: float.h,v 1.2 1998/09/14 18:39:44 stanton Exp $ */ diff --git a/compat/gettod.c b/compat/gettod.c index 4110262..9fc0ca5 100644 --- a/compat/gettod.c +++ b/compat/gettod.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * SCCS: @(#) gettod.c 1.2 96/02/15 12:08:26 + * RCS: @(#) $Id: gettod.c,v 1.2 1998/09/14 18:39:44 stanton Exp $ */ #include "tcl.h" diff --git a/compat/limits.h b/compat/limits.h index ec7a909..96b0b50 100644 --- a/compat/limits.h +++ b/compat/limits.h @@ -13,7 +13,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * SCCS: @(#) limits.h 1.8 96/07/08 18:00:13 + * RCS: @(#) $Id: limits.h,v 1.2 1998/09/14 18:39:44 stanton Exp $ */ #define LONG_MIN 0x80000000 diff --git a/compat/opendir.c b/compat/opendir.c index b1a47ff..8eec7db 100644 --- a/compat/opendir.c +++ b/compat/opendir.c @@ -7,7 +7,7 @@ * originally from Larry Wall. * * - * SCCS: @(#) opendir.c 1.3 96/02/15 12:08:21 + * RCS: @(#) $Id: opendir.c,v 1.2 1998/09/14 18:39:44 stanton Exp $ */ #include "tclInt.h" diff --git a/compat/stdlib.h b/compat/stdlib.h index 059ea29..a9f30bc 100644 --- a/compat/stdlib.h +++ b/compat/stdlib.h @@ -14,7 +14,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * SCCS: @(#) stdlib.h 1.10 96/02/15 14:43:54 + * RCS: @(#) $Id: stdlib.h,v 1.2 1998/09/14 18:39:45 stanton Exp $ */ #ifndef _STDLIB diff --git a/compat/strftime.c b/compat/strftime.c index 7c72557..e99a046 100644 --- a/compat/strftime.c +++ b/compat/strftime.c @@ -8,7 +8,7 @@ * source. See the copyright notice below for details on redistribution * restrictions. The "license.terms" file does not apply to this file. * - * SCCS: @(#) strftime.c 1.4 97/08/07 17:17:02 + * RCS: @(#) $Id: strftime.c,v 1.2 1998/09/14 18:39:45 stanton Exp $ */ /* @@ -44,10 +44,9 @@ * SUCH DAMAGE. */ -#if defined(LIBC_SCCS) && !defined(lint) -/*static char *sccsid = "from: @(#)strftime.c 5.11 (Berkeley) 2/24/91";*/ -static char *rcsid = "$Id: strftime.c,v 1.1 1998/03/26 14:46:31 rjohnson Exp $"; -#endif /* LIBC_SCCS and not lint */ +#if defined(LIBC_SCCS) +static char *rcsid = "$Id: strftime.c,v 1.2 1998/09/14 18:39:45 stanton Exp $"; +#endif /* LIBC_SCCS */ #include #include diff --git a/compat/string.h b/compat/string.h index 541e159..a4df8ab 100644 --- a/compat/string.h +++ b/compat/string.h @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * SCCS: @(#) string.h 1.13 96/04/09 22:14:53 + * RCS: @(#) $Id: string.h,v 1.2 1998/09/14 18:39:45 stanton Exp $ */ #ifndef _STRING diff --git a/compat/strncasecmp.c b/compat/strncasecmp.c index 749c1da..ca2bf91 100644 --- a/compat/strncasecmp.c +++ b/compat/strncasecmp.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * SCCS: @(#) strncasecmp.c 1.7 96/10/24 15:23:36 + * RCS: @(#) $Id: strncasecmp.c,v 1.2 1998/09/14 18:39:45 stanton Exp $ */ #include "tclPort.h" diff --git a/compat/strstr.c b/compat/strstr.c index 59296db..de0c26a 100644 --- a/compat/strstr.c +++ b/compat/strstr.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * SCCS: @(#) strstr.c 1.4 96/02/15 12:08:22 + * RCS: @(#) $Id: strstr.c,v 1.2 1998/09/14 18:39:45 stanton Exp $ */ /* diff --git a/compat/strtod.c b/compat/strtod.c index 0a26163..744c7c8 100644 --- a/compat/strtod.c +++ b/compat/strtod.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * SCCS: @(#) strtod.c 1.9 96/12/13 15:02:46 + * RCS: @(#) $Id: strtod.c,v 1.2 1998/09/14 18:39:45 stanton Exp $ */ #include "tcl.h" diff --git a/compat/strtol.c b/compat/strtol.c index c781bd6..c2f336b 100644 --- a/compat/strtol.c +++ b/compat/strtol.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * SCCS: @(#) strtol.c 1.4 96/02/15 12:08:23 + * RCS: @(#) $Id: strtol.c,v 1.2 1998/09/14 18:39:45 stanton Exp $ */ #include diff --git a/compat/strtoul.c b/compat/strtoul.c index 37fe490..3b7918c 100644 --- a/compat/strtoul.c +++ b/compat/strtoul.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * SCCS: @(#) strtoul.c 1.5 96/02/15 12:08:24 + * RCS: @(#) $Id: strtoul.c,v 1.2 1998/09/14 18:39:45 stanton Exp $ */ #include diff --git a/compat/tclErrno.h b/compat/tclErrno.h index bc45481..df87385 100644 --- a/compat/tclErrno.h +++ b/compat/tclErrno.h @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * SCCS: @(#) tclErrno.h 1.1 96/04/29 15:25:31 + * RCS: @(#) $Id: tclErrno.h,v 1.2 1998/09/14 18:39:45 stanton Exp $ */ extern int errno; /* global error number */ diff --git a/compat/tmpnam.c b/compat/tmpnam.c index c29a1e3..89bfc6a 100644 --- a/compat/tmpnam.c +++ b/compat/tmpnam.c @@ -9,7 +9,7 @@ * software without specific written prior permission. This software * is provided ``as is'' without express or implied warranty. * - * SCCS: @(#) tmpnam.c 1.3 96/02/15 12:08:25 + * RCS: @(#) $Id: tmpnam.c,v 1.2 1998/09/14 18:39:45 stanton Exp $ */ #include diff --git a/compat/unistd.h b/compat/unistd.h index 3af430c..0b791e0 100644 --- a/compat/unistd.h +++ b/compat/unistd.h @@ -12,7 +12,7 @@ * software for any purpose. It is provided "as is" without * express or implied warranty. * - * SCCS: @(#) unistd.h 1.7 96/02/15 14:43:57 + * RCS: @(#) $Id: unistd.h,v 1.2 1998/09/14 18:39:45 stanton Exp $ */ #ifndef _UNISTD diff --git a/compat/waitpid.c b/compat/waitpid.c index 179d5de..1069f56 100644 --- a/compat/waitpid.c +++ b/compat/waitpid.c @@ -12,7 +12,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * SCCS: @(#) waitpid.c 1.9 96/02/15 12:08:26 + * RCS: @(#) $Id: waitpid.c,v 1.2 1998/09/14 18:39:45 stanton Exp $ */ #include "tclInt.h" diff --git a/doc/AddErrInfo.3 b/doc/AddErrInfo.3 index 91708b8..bf46867 100644 --- a/doc/AddErrInfo.3 +++ b/doc/AddErrInfo.3 @@ -5,7 +5,7 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" SCCS: @(#) AddErrInfo.3 1.28 97/06/12 13:39:53 +'\" RCS: @(#) $Id: AddErrInfo.3,v 1.2 1998/09/14 18:39:45 stanton Exp $ '\" .so man.macros .TH Tcl_AddErrorInfo 3 7.5 Tcl "Tcl Library Procedures" diff --git a/doc/Alloc.3 b/doc/Alloc.3 index 2f1fd5a..405d7fa 100644 --- a/doc/Alloc.3 +++ b/doc/Alloc.3 @@ -4,7 +4,7 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" SCCS: @(#) Alloc.3 1.2 96/06/05 18:00:19 +'\" RCS: @(#) $Id: Alloc.3,v 1.2 1998/09/14 18:39:45 stanton Exp $ '\" .so man.macros .TH Tcl_Alloc 3 7.5 Tcl "Tcl Library Procedures" diff --git a/doc/AllowExc.3 b/doc/AllowExc.3 index b5b4b5c..1145fa4 100644 --- a/doc/AllowExc.3 +++ b/doc/AllowExc.3 @@ -5,7 +5,7 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" SCCS: @(#) AllowExc.3 1.5 96/03/25 19:55:47 +'\" RCS: @(#) $Id: AllowExc.3,v 1.2 1998/09/14 18:39:45 stanton Exp $ '\" .so man.macros .TH Tcl_AllowExceptions 3 7.4 Tcl "Tcl Library Procedures" diff --git a/doc/AppInit.3 b/doc/AppInit.3 index ca78003..15ea1e8 100644 --- a/doc/AppInit.3 +++ b/doc/AppInit.3 @@ -5,7 +5,7 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" SCCS: @(#) AppInit.3 1.10 96/08/26 12:59:40 +'\" RCS: @(#) $Id: AppInit.3,v 1.2 1998/09/14 18:39:46 stanton Exp $ '\" .so man.macros .TH Tcl_AppInit 3 7.0 Tcl "Tcl Library Procedures" diff --git a/doc/AssocData.3 b/doc/AssocData.3 index aef7a67..4ff36c8 100644 --- a/doc/AssocData.3 +++ b/doc/AssocData.3 @@ -5,7 +5,7 @@ '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" '\" -'\" SCCS: @(#) AssocData.3 1.8 96/03/25 19:56:17 +'\" RCS: @(#) $Id: AssocData.3,v 1.2 1998/09/14 18:39:46 stanton Exp $ .so man.macros .TH Tcl_SetAssocData 3 7.5 Tcl "Tcl Library Procedures" .BS diff --git a/doc/Async.3 b/doc/Async.3 index 9a58b09..1c245cb 100644 --- a/doc/Async.3 +++ b/doc/Async.3 @@ -5,7 +5,7 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" SCCS: @(#) Async.3 1.14 96/08/26 12:59:41 +'\" RCS: @(#) $Id: Async.3,v 1.2 1998/09/14 18:39:46 stanton Exp $ '\" .so man.macros .TH Tcl_AsyncCreate 3 7.0 Tcl "Tcl Library Procedures" diff --git a/doc/BackgdErr.3 b/doc/BackgdErr.3 index 005f5b6..72d1530 100644 --- a/doc/BackgdErr.3 +++ b/doc/BackgdErr.3 @@ -5,7 +5,7 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" SCCS: @(#) BackgdErr.3 1.3 96/03/25 19:56:51 +'\" RCS: @(#) $Id: BackgdErr.3,v 1.2 1998/09/14 18:39:46 stanton Exp $ '\" .so man.macros .TH Tcl_BackgroundError 3 7.5 Tcl "Tcl Library Procedures" diff --git a/doc/Backslash.3 b/doc/Backslash.3 index e7ac1f7..382e8f2 100644 --- a/doc/Backslash.3 +++ b/doc/Backslash.3 @@ -5,7 +5,7 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" SCCS: @(#) Backslash.3 1.16 96/03/25 19:57:09 +'\" RCS: @(#) $Id: Backslash.3,v 1.2 1998/09/14 18:39:46 stanton Exp $ '\" .so man.macros .TH Tcl_Backslash 3 "" Tcl "Tcl Library Procedures" diff --git a/doc/BoolObj.3 b/doc/BoolObj.3 index 691e5aa..2306350 100644 --- a/doc/BoolObj.3 +++ b/doc/BoolObj.3 @@ -4,7 +4,7 @@ '\" See the file "license.terms" for information on usage and red