ports/audio/tclmidi/files/patch-modern
Mikhail Teterin e4010ab91b Unbreak and fix:
* Use BSDmakefile (and bsd.lib.mk) instead of
	  configure/Makefile.in;
	* plug some (but not all!) ancient memory leaks;
	* make use of bsd.tcl.mk (now requires Tcl-8.4 or higher);
	* fix warnings and 64-bit issues;
	* bump PORTREVISION.

To do:
	* plug the remaining memory leak (valgrind is priceless!);
	* fix up the author's tests to uniformly report failure or
	  success and arrange for them to run post-build.

Feature safe:	yes
2012-04-11 06:18:00 +00:00

2139 lines
61 KiB
Text

--- events/ChanPres.h 1996-02-18 19:57:20.000000000 -0500
+++ events/ChanPres.h 2012-04-07 14:08:43.000000000 -0400
@@ -44,7 +44,7 @@
{return (new ChannelPressureEvent(*this));}
virtual EventType GetType(void) const {return (CHANNELPRESSURE);}
- virtual char *GetTypeStr(void) const {return ("ChannelPressureEvent");}
+ virtual const char *GetTypeStr(void) const {return ("ChannelPressureEvent");}
virtual char *GetEventStr(void) const;
int GetPressure(void) const {
if (GetWildcard(wc_pressure))
--- events/Event.h 1996-07-28 14:51:08.000000000 -0400
+++ events/Event.h 2012-04-11 01:04:43.000000000 -0400
@@ -81,12 +81,13 @@
else
return (time);
}
+ virtual ~Event() {};
virtual EventType GetType(void) const {return (NOTYPE);}
- virtual char *GetTypeStr(void) const {return ("NoType");}
+ virtual const char *GetTypeStr(void) const {return ("NoType");}
virtual char *GetEventStr(void) const;
Event *GetNextEvent(void) const {return (next_event);}
Event *GetPrevEvent(void) const {return (prev_event);}
- const EventTreeNode *GetEventTreeNode(void) const {return (node);}
+ EventTreeNode *GetEventTreeNode(void) const {return (node);}
void SetTime(unsigned long t) {
if (t == WC_TIME)
@@ -96,7 +97,7 @@
}
void SetNextEvent(Event *n) {next_event = n;}
void SetPrevEvent(Event *p) {prev_event = p;}
- void SetEventTreeNode(const EventTreeNode *n) {node = n;}
+ void SetEventTreeNode(EventTreeNode *n) {node = n;}
Event &operator=(const Event &e);
int operator==(const Event &e) const;
@@ -120,6 +121,6 @@
static const unsigned long wc_time;
Event *next_event;
Event *prev_event;
- const EventTreeNode *node;
+ EventTreeNode *node;
};
#endif
--- events/KeyPres.h 1996-02-18 19:57:26.000000000 -0500
+++ events/KeyPres.h 2012-04-07 14:08:43.000000000 -0400
@@ -45,7 +45,7 @@
virtual Event *Dup(void) const {return (new KeyPressureEvent(*this));}
virtual EventType GetType(void) const {return (KEYPRESSURE);}
- virtual char *GetTypeStr(void) const {return ("KeyPressureEvent");}
+ virtual const char *GetTypeStr(void) const {return ("KeyPressureEvent");}
virtual char *GetEventStr(void) const;
int GetPitch(void) const {
if (GetWildcard(wc_pitch))
--- events/MChanPrf.cxx 1996-07-28 15:09:16.000000000 -0400
+++ events/MChanPrf.cxx 2012-04-07 15:41:59.000000000 -0400
@@ -74,7 +74,7 @@
MetaChannelPrefixEvent::~MetaChannelPrefixEvent()
{
- delete data;
+ delete[] data;
}
void
@@ -82,7 +82,7 @@
{
if (data != 0)
- delete data;
+ delete[] data;
if (dat == WC_DATA || len == WC_LENGTH) {
SetWildcard(wc_data);
data = 0;
@@ -101,7 +101,7 @@
(MetaEvent)*this = (MetaEvent)e;
if (data != 0)
- delete data;
+ delete[] data;
if (e.GetWildcard(wc_data)) {
data = 0;
length = -1;
@@ -129,7 +129,7 @@
buf.setf(ios::showbase | ios::internal);
for (i = 0; i < length; i++)
buf << " " << hex << setw(4) << setfill('0') <<
- (int)data[i];
+ (intptr_t)data[i];
}
buf << ends;
delete tbuf;
@@ -142,7 +142,7 @@
const unsigned char *ptr;
if (data != 0)
- delete data;
+ delete[] data;
if ((length = t.GetVarValue()) == -1)
return ("Incomplete MetaChannelPrefixEvent - bad length");
data = new unsigned char[length];
--- events/MChanPrf.h 1996-02-18 19:57:29.000000000 -0500
+++ events/MChanPrf.h 2012-04-07 14:36:23.000000000 -0400
@@ -46,7 +46,7 @@
{return (new MetaChannelPrefixEvent(*this));}
virtual EventType GetType(void) const {return (METACHANNELPREFIX);}
- virtual char *GetTypeStr(void) const
+ virtual const char *GetTypeStr(void) const
{return ("MetaChannelPrefixEvent");}
virtual char *GetEventStr(void) const;
const unsigned char *GetData(void) const {
--- events/MCopy.h 1996-02-12 19:25:36.000000000 -0500
+++ events/MCopy.h 2012-04-07 14:08:43.000000000 -0400
@@ -43,7 +43,7 @@
virtual Event *Dup(void) const {return (new MetaCopyrightEvent(*this));}
virtual EventType GetType(void) const {return (METACOPYRIGHT);}
- virtual char *GetTypeStr(void) const {return ("MetaCopyrightEvent");}
+ virtual const char *GetTypeStr(void) const {return ("MetaCopyrightEvent");}
virtual char *GetEventStr(void) const;
MetaCopyrightEvent &operator=(const MetaCopyrightEvent &e);
--- events/MCue.h 1996-02-12 19:25:37.000000000 -0500
+++ events/MCue.h 2012-04-07 14:08:43.000000000 -0400
@@ -43,7 +43,7 @@
virtual Event *Dup(void) const {return (new MetaCueEvent(*this));}
virtual EventType GetType(void) const {return (METACUE);}
- virtual char *GetTypeStr(void) const {return ("MetaCueEvent");}
+ virtual const char *GetTypeStr(void) const {return ("MetaCueEvent");}
virtual char *GetEventStr(void) const;
MetaCueEvent &operator=(const MetaCueEvent &e);
--- events/MEOT.h 1996-02-12 19:25:38.000000000 -0500
+++ events/MEOT.h 2012-04-07 14:08:43.000000000 -0400
@@ -43,7 +43,7 @@
{return (new MetaEndOfTrackEvent(*this));}
virtual EventType GetType(void) const {return (METAENDOFTRACK);}
- virtual char *GetTypeStr(void) const {return ("MetaEndOfTrackEvent");}
+ virtual const char *GetTypeStr(void) const {return ("MetaEndOfTrackEvent");}
virtual char *GetEventStr(void) const;
MetaEndOfTrackEvent &operator=(const MetaEndOfTrackEvent &e);
--- events/MEvent.h 1996-02-12 19:25:39.000000000 -0500
+++ events/MEvent.h 2012-04-07 14:08:43.000000000 -0400
@@ -42,7 +42,7 @@
virtual Event *Dup(void) const {return (new MetaEvent(*this));}
virtual EventType GetType(void) const {return (META);}
- virtual char *GetTypeStr(void) const {return ("MetaEvent");}
+ virtual const char *GetTypeStr(void) const {return ("MetaEvent");}
virtual char *GetEventStr(void) const;
MetaEvent &operator=(const MetaEvent &e);
--- events/MInstNam.h 1996-02-12 19:25:39.000000000 -0500
+++ events/MInstNam.h 2012-04-07 14:08:43.000000000 -0400
@@ -45,7 +45,7 @@
{return (new MetaInstrumentNameEvent(*this));}
virtual EventType GetType(void) const {return (METAINSTRUMENTNAME);}
- virtual char *GetTypeStr(void) const {return ("MetaInstrumentName");}
+ virtual const char *GetTypeStr(void) const {return ("MetaInstrumentName");}
virtual char *GetEventStr(void) const;
MetaInstrumentNameEvent &operator=(const MetaInstrumentNameEvent &e);
--- events/MKey.cxx 1996-07-28 15:09:19.000000000 -0400
+++ events/MKey.cxx 2012-04-07 15:51:06.000000000 -0400
@@ -396,7 +396,7 @@
badkey = 1;
}
- delete keystr;
+ delete[] keystr;
if (badkey)
*match = 0;
else
@@ -409,21 +409,13 @@
StrToMode(const char *str, int *match)
{
Mode mode;
- char *modestr;
- int i, modelen;
-
- modelen = strlen(str);
- modestr = new char[modelen + 1];
- for (i = 0; i < modelen; i++)
- modestr[i] = tolower(str[i]);
- modestr[i] = '\0';
*match = 1;
- if (strcmp(modestr, "minor") == 0)
+ if (strcasecmp(str, "minor") == 0)
mode = MODE_MINOR;
- else if (strcmp(modestr, "major") == 0)
+ else if (strcasecmp(str, "major") == 0)
mode = MODE_MAJOR;
- else if (strcmp(modestr, "*") == 0)
+ else if (strcasecmp(str, "*") == 0)
mode = MODE_WC;
else {
mode = MODE_MAJOR;
--- events/MKey.h 1996-02-18 19:57:33.000000000 -0500
+++ events/MKey.h 2012-04-07 14:08:43.000000000 -0400
@@ -57,7 +57,7 @@
virtual Event *Dup(void) const {return (new MetaKeyEvent(*this));}
virtual EventType GetType(void) const {return (METAKEY);}
- virtual char *GetTypeStr(void) const {return ("MetaKeyEvent");}
+ virtual const char *GetTypeStr(void) const {return ("MetaKeyEvent");}
virtual char *GetEventStr(void) const;
Key GetKey(void) const {
if (GetWildcard(wc_key))
--- events/MLyric.h 1996-02-12 19:25:41.000000000 -0500
+++ events/MLyric.h 2012-04-07 14:08:43.000000000 -0400
@@ -43,7 +43,7 @@
virtual Event *Dup(void) const {return (new MetaLyricEvent(*this));}
virtual EventType GetType(void) const {return (METALYRIC);}
- virtual char *GetTypeStr(void) const {return ("MetaLyricEvent");}
+ virtual const char *GetTypeStr(void) const {return ("MetaLyricEvent");}
virtual char *GetEventStr(void) const;
MetaLyricEvent &operator=(const MetaLyricEvent &e);
--- events/MMarker.h 1996-02-12 19:25:42.000000000 -0500
+++ events/MMarker.h 2012-04-07 14:08:43.000000000 -0400
@@ -43,7 +43,7 @@
virtual Event *Dup(void) const {return (new MetaMarkerEvent(*this));}
virtual EventType GetType(void) const {return (METAMARKER);}
- virtual char *GetTypeStr(void) const {return ("MetaMarkerEvent");}
+ virtual const char *GetTypeStr(void) const {return ("MetaMarkerEvent");}
virtual char *GetEventStr(void) const;
MetaMarkerEvent &operator=(const MetaMarkerEvent &e);
--- events/MPortNum.h 1996-02-18 19:57:36.000000000 -0500
+++ events/MPortNum.h 2012-04-07 14:08:43.000000000 -0400
@@ -44,7 +44,7 @@
{return (new MetaPortNumberEvent(*this));}
virtual EventType GetType(void) const {return (METAPORTNUMBER);}
- virtual char *GetTypeStr(void) const
+ virtual const char *GetTypeStr(void) const
{return ("MetaPortNumberEvent");}
virtual char *GetEventStr(void) const;
int GetPort(void) const {
--- events/MSMPTE.h 1996-02-18 19:57:40.000000000 -0500
+++ events/MSMPTE.h 2012-04-07 14:08:43.000000000 -0400
@@ -42,7 +42,7 @@
virtual Event *Dup(void) const {return (new MetaSMPTEEvent(*this));}
virtual EventType GetType(void) const {return (METASMPTE);}
- virtual char *GetTypeStr(void) const {return ("MetaSMPTEEvent");}
+ virtual const char *GetTypeStr(void) const {return ("MetaSMPTEEvent");}
virtual char *GetEventStr(void) const;
int GetHour(void) const {
if (GetWildcard(wc_hour))
--- events/MSeqNam.h 1996-02-12 19:25:44.000000000 -0500
+++ events/MSeqNam.h 2012-04-07 14:08:43.000000000 -0400
@@ -44,7 +44,7 @@
{return (new MetaSequenceNameEvent(*this));}
virtual EventType GetType(void) const {return (METASEQUENCENAME);}
- virtual char *GetTypeStr(void) const {return ("MetaSequenceNameEvent");}
+ virtual const char *GetTypeStr(void) const {return ("MetaSequenceNameEvent");}
virtual char *GetEventStr(void) const;
MetaSequenceNameEvent &operator=(const MetaSequenceNameEvent &e);
--- events/MSeqNum.h 1996-02-18 19:57:43.000000000 -0500
+++ events/MSeqNum.h 2012-04-07 14:08:43.000000000 -0400
@@ -44,7 +44,7 @@
{return (new MetaSequenceNumberEvent(*this));}
virtual EventType GetType(void) const {return (METASEQUENCENUMBER);}
- virtual char *GetTypeStr(void) const
+ virtual const char *GetTypeStr(void) const
{return ("MetaSequenceNumberEvent");}
virtual char *GetEventStr(void) const;
long GetNumber(void) const {
--- events/MSeqSpec.cxx 1996-07-28 15:09:24.000000000 -0400
+++ events/MSeqSpec.cxx 2012-04-07 15:47:09.000000000 -0400
@@ -74,7 +74,7 @@
MetaSequencerSpecificEvent::~MetaSequencerSpecificEvent()
{
- delete data;
+ delete[] data;
}
void
@@ -82,7 +82,7 @@
{
if (data != 0)
- delete data;
+ delete[] data;
if (dat == WC_DATA || len == WC_LENGTH) {
SetWildcard(wc_data);
data = 0;
@@ -102,7 +102,7 @@
(MetaEvent)*this = (MetaEvent)e;
if (data != 0)
- delete data;
+ delete[] data;
if (e.GetWildcard(wc_data)) {
data = 0;
length = -1;
@@ -144,7 +144,7 @@
const unsigned char *ptr;
if (data != 0)
- delete data;
+ delete[] data;
if ((length = t.GetVarValue()) == -1)
return ("Incomplete MetaSequenceSpecificEvent - bad length");
data = new unsigned char[length];
--- events/MSeqSpec.h 1996-02-18 19:57:45.000000000 -0500
+++ events/MSeqSpec.h 2012-04-07 14:08:43.000000000 -0400
@@ -46,7 +46,7 @@
{return (new MetaSequencerSpecificEvent(*this));}
virtual EventType GetType(void) const {return (METASEQUENCERSPECIFIC);}
- virtual char *GetTypeStr(void) const
+ virtual const char *GetTypeStr(void) const
{return ("MetaSequencerSpecificEvent");}
virtual char *GetEventStr(void) const;
const unsigned char *GetData(void) const {
--- events/MTempo.h 1996-02-18 19:57:49.000000000 -0500
+++ events/MTempo.h 2012-04-07 14:08:43.000000000 -0400
@@ -42,7 +42,7 @@
virtual Event *Dup(void) const {return (new MetaTempoEvent(*this));}
virtual EventType GetType(void) const {return (METATEMPO);}
- virtual char *GetTypeStr(void) const {return ("MetaTempoEvent");}
+ virtual const char *GetTypeStr(void) const {return ("MetaTempoEvent");}
virtual char *GetEventStr(void) const;
short GetTempo(void) const {
if (GetWildcard(wc_tempo))
--- events/MText.cxx 1996-07-28 15:09:25.000000000 -0400
+++ events/MText.cxx 2012-04-07 15:46:17.000000000 -0400
@@ -83,14 +83,14 @@
MetaTextEvent::~MetaTextEvent()
{
- delete string;
+ delete[] string;
}
void
MetaTextEvent::SetString(const char *str)
{
- delete string;
+ delete[] string;
if (str == WC_STRING) {
string = 0;
length = -1;
@@ -110,7 +110,7 @@
(MetaEvent)*this = (MetaEvent)e;
length = e.length;
- delete string;
+ delete[] string;
if (e.GetWildcard(wc_string)) {
string = 0;
return (*this);
@@ -144,7 +144,7 @@
const unsigned char *ptr;
if (string != 0)
- delete string;
+ delete[] string;
if ((length = t.GetVarValue()) == -1)
return ("Incomplete MetaTextEvent - bad length");
string = new char[length + 1];
--- events/MText.h 1996-02-18 19:57:52.000000000 -0500
+++ events/MText.h 2012-04-07 14:08:43.000000000 -0400
@@ -43,7 +43,7 @@
virtual Event *Dup(void) const {return (new MetaTextEvent(*this));}
virtual EventType GetType(void) const {return (METATEXT);}
- virtual char *GetTypeStr(void) const {return ("MetaTextEvent");}
+ virtual const char *GetTypeStr(void) const {return ("MetaTextEvent");}
virtual char *GetEventStr(void) const;
const char *GetString(void) const {
if (GetWildcard(wc_string))
--- events/MTime.h 1996-02-18 19:57:55.000000000 -0500
+++ events/MTime.h 2012-04-07 14:08:43.000000000 -0400
@@ -43,7 +43,7 @@
virtual Event *Dup(void) const {return (new MetaTimeEvent(*this));}
virtual EventType GetType(void) const {return (METATIME);}
- virtual char *GetTypeStr(void) const {return ("MetaTimeEvent");}
+ virtual const char *GetTypeStr(void) const {return ("MetaTimeEvent");}
virtual char *GetEventStr(void) const;
int GetNumerator(void) const {
if (GetWildcard(wc_numerator))
--- events/MUnknown.cxx 1996-07-28 15:09:26.000000000 -0400
+++ events/MUnknown.cxx 2012-04-07 15:48:00.000000000 -0400
@@ -86,14 +86,14 @@
MetaUnknownEvent::~MetaUnknownEvent()
{
- delete data;
+ delete[] data;
}
void
MetaUnknownEvent::SetData(const unsigned char *dat, long len)
{
- delete data;
+ delete[] data;
if (dat == WC_DATA || len == WC_LENGTH) {
SetWildcard(wc_data);
data = 0;
@@ -111,7 +111,7 @@
{
(MetaEvent)*this = (MetaEvent)e;
- delete data;
+ delete[] data;
type = e.type;
if (e.GetWildcard(wc_data)) {
data = 0;
@@ -158,7 +158,7 @@
const unsigned char *ptr;
if (data != 0)
- delete data;
+ delete[] data;
if ((length = t.GetVarValue()) == -1)
return ("Incomplete MetaUnknownEvent - bad length");
data = new unsigned char[length];
--- events/MUnknown.h 1996-02-25 18:09:15.000000000 -0500
+++ events/MUnknown.h 2012-04-07 14:08:43.000000000 -0400
@@ -45,7 +45,7 @@
virtual Event *Dup(void) const {return (new MetaUnknownEvent(*this));}
virtual EventType GetType(void) const {return (METAUNKNOWN);}
- virtual char *GetTypeStr(void) const {return ("MetaUnknownEvent");}
+ virtual const char *GetTypeStr(void) const {return ("MetaUnknownEvent");}
virtual char *GetEventStr(void) const;
const unsigned char *GetData(void) const {
if (GetWildcard(wc_data))
--- events/NormEvnt.h 1996-02-18 19:58:01.000000000 -0500
+++ events/NormEvnt.h 2012-04-07 14:08:43.000000000 -0400
@@ -42,7 +42,7 @@
virtual Event *Dup(void) const {return (new NormalEvent(*this));}
virtual EventType GetType(void) const {return (NORMAL);}
- virtual char *GetTypeStr(void) const {return ("NormalEvent");}
+ virtual const char *GetTypeStr(void) const {return ("NormalEvent");}
virtual char *GetEventStr(void) const;
int GetChannel(void) const {
if (GetWildcard(wc_channel))
--- events/Note.h 1996-02-25 18:09:19.000000000 -0500
+++ events/Note.h 2012-04-07 14:08:43.000000000 -0400
@@ -43,7 +43,7 @@
virtual Event *Dup(void) const {return (new NoteEvent(*this));}
virtual EventType GetType(void) const {return (NOTE);}
- virtual char *GetTypeStr(void) const {return ("NoteEvent");}
+ virtual const char *GetTypeStr(void) const {return ("NoteEvent");}
virtual char *GetEventStr(void) const;
int GetPitch(void) const {
if (GetWildcard(wc_pitch))
--- events/NoteOff.h 1996-02-18 19:58:07.000000000 -0500
+++ events/NoteOff.h 2012-04-07 14:08:43.000000000 -0400
@@ -43,7 +43,7 @@
virtual Event *Dup(void) const {return (new NoteOffEvent(*this));}
virtual EventType GetType(void) const {return (NOTEOFF);}
- virtual char *GetTypeStr(void) const {return ("NoteOffEvent");}
+ virtual const char *GetTypeStr(void) const {return ("NoteOffEvent");}
virtual char *GetEventStr(void) const;
NoteOffEvent &operator=(const NoteOffEvent &e);
--- events/NoteOn.h 1996-02-25 18:09:22.000000000 -0500
+++ events/NoteOn.h 2012-04-07 14:08:43.000000000 -0400
@@ -45,7 +45,7 @@
virtual Event *Dup(void) const {return (new NoteOnEvent(*this));}
virtual EventType GetType(void) const {return (NOTEON);}
- virtual char *GetTypeStr(void) const {return ("NoteOnEvent");}
+ virtual const char *GetTypeStr(void) const {return ("NoteOnEvent");}
virtual char *GetEventStr(void) const;
unsigned long GetDuration(void) const {
--- events/Param.h 1996-02-18 19:58:13.000000000 -0500
+++ events/Param.h 2012-04-07 14:08:43.000000000 -0400
@@ -42,7 +42,7 @@
virtual Event *Dup(void) const {return (new ParameterEvent(*this));}
virtual EventType GetType(void) const {return (PARAMETER);}
- virtual char *GetTypeStr(void) const {return ("ParameterEvent");}
+ virtual const char *GetTypeStr(void) const {return ("ParameterEvent");}
virtual char *GetEventStr(void) const;
int GetParameter(void) const {
if (GetWildcard(wc_parameter))
--- events/PitchWhl.h 1996-02-18 19:58:16.000000000 -0500
+++ events/PitchWhl.h 2012-04-07 14:08:43.000000000 -0400
@@ -42,7 +42,7 @@
virtual Event *Dup(void) const {return (new PitchWheelEvent(*this));}
virtual EventType GetType(void) const {return (PITCHWHEEL);}
- virtual char *GetTypeStr(void) const {return ("PitchWheelEvent");}
+ virtual const char *GetTypeStr(void) const {return ("PitchWheelEvent");}
virtual char *GetEventStr(void) const;
long GetValue(void) const {
if (GetWildcard(wc_value))
--- events/Program.h 1996-02-18 19:58:19.000000000 -0500
+++ events/Program.h 2012-04-07 14:08:43.000000000 -0400
@@ -42,7 +42,7 @@
virtual Event *Dup(void) const {return (new ProgramEvent(*this));}
virtual EventType GetType(void) const {return (PROGRAM);}
- virtual char *GetTypeStr(void) const {return ("ProgramEvent");}
+ virtual const char *GetTypeStr(void) const {return ("ProgramEvent");}
virtual char *GetEventStr(void) const;
int GetValue(void) const {
if (GetWildcard(wc_value))
--- events/SysEx.cxx 1996-07-28 15:09:30.000000000 -0400
+++ events/SysEx.cxx 2012-04-07 15:44:56.000000000 -0400
@@ -81,7 +81,7 @@
SystemExclusiveEvent::~SystemExclusiveEvent()
{
- delete data;
+ delete[] data;
}
void
@@ -89,7 +89,7 @@
{
if (data != 0)
- delete data;
+ delete[] data;
if (len == WC_LENGTH || dat == WC_DATA) {
SetWildcard(wc_data);
data = 0;
@@ -107,7 +107,7 @@
(Event)*this = (Event)e;
if (data != 0)
- delete data;
+ delete[] data;
continued = e.continued;
length = e.length;
if (e.GetWildcard(wc_data)) {
@@ -148,7 +148,7 @@
const unsigned char *ptr;
if (data != 0)
- delete data;
+ delete[] data;
if ((length = t.GetVarValue()) == -1)
return ("Incomplete SystemExclusiveEvent - bad length");
data = new unsigned char[length];
--- events/SysEx.h 1996-02-18 19:58:22.000000000 -0500
+++ events/SysEx.h 2012-04-07 14:08:43.000000000 -0400
@@ -46,7 +46,7 @@
{return (new SystemExclusiveEvent(*this));}
virtual EventType GetType(void) const {return (SYSTEMEXCLUSIVE);}
- virtual char *GetTypeStr(void) const {return ("SystemExclusiveEvent");}
+ virtual const char *GetTypeStr(void) const {return ("SystemExclusiveEvent");}
virtual char *GetEventStr(void) const;
const unsigned char *GetData(void) const {
if (GetWildcard(wc_data))
--- smf/SMFUtils.cxx 1996-08-04 23:47:36.000000000 -0400
+++ smf/SMFUtils.cxx 2012-04-07 14:08:43.000000000 -0400
@@ -59,7 +59,7 @@
}
long
-MWrite(int fd, char *data, long len)
+MWrite(int fd, const char *data, long len)
{
int num_written;
int total_written;
@@ -96,7 +96,7 @@
}
long
-MWrite(Tcl_Channel channel, char *data, long len)
+MWrite(Tcl_Channel channel, const char *data, long len)
{
int num_written;
int total_written;
@@ -116,7 +116,7 @@
long
-VarToFix(unsigned char *var, int *len)
+VarToFix(const unsigned char *var, int *len)
{
long fix;
--- smf/SMFUtils.h 1996-08-04 23:47:36.000000000 -0400
+++ smf/SMFUtils.h 2012-04-07 14:08:43.000000000 -0400
@@ -147,9 +147,9 @@
extern long MRead(int fd, char *data, long len);
-extern long MWrite(int fd, char *data, long len);
+extern long MWrite(int fd, const char *data, long len);
extern long MRead(Tcl_Channel channel, char *data, long len);
-extern long MWrite(Tcl_Channel channel, char *data, long len);
-extern long VarToFix(unsigned char *var, int *len);
+extern long MWrite(Tcl_Channel channel, const char *data, long len);
+extern long VarToFix(const unsigned char *var, int *len);
extern int FixToVar(long fix, unsigned char *var);
#endif
--- song/EvntTree.cxx 1996-08-04 23:47:38.000000000 -0400
+++ song/EvntTree.cxx 2012-04-11 01:45:51.000000000 -0400
@@ -611,7 +611,7 @@
for (j = 0; j < num_found; j++)
new_found[j] = found[j];
new_found[j] = e;
- delete found;
+ delete[] found;
found = new_found;
num_found++;
}
@@ -631,7 +631,7 @@
for (j = 0; j < num_found; j++)
new_found[j] = found[j];
new_found[j] = e;
- delete found;
+ delete[] found;
found = new_found;
num_found++;
}
@@ -735,6 +735,7 @@
assert(new_event != 0);
place = rb_insert_b(place, (char *)time, (char *)new_event);
}
+
curr_event = new_event;
new_event->SetEventTreeNode(place);
return (new_event);
@@ -746,7 +747,7 @@
Event *e, *events, *prev;
EventTreeNode *n, *next_n;
- n = (EventTreeNode *)event.GetEventTreeNode();
+ n = event.GetEventTreeNode();
if (n != 0) {
e = &event;
prev = e->GetPrevEvent();
@@ -785,6 +786,9 @@
}
}
+ if (e->GetNextEvent() == 0 ||
+ prev && prev->GetEventTreeNode() != n)
+ rb_delete_node(n);
} else {
// This is the only event in the node
if (curr_event == e) {
@@ -818,7 +822,7 @@
/* get each event in order and delete it */
while ((e = NextEvent()) != 0)
DeleteEvent(*e);
-
+
/* then free head */
free(head);
head = 0;
--- song/Song.cxx 1996-08-04 23:47:39.000000000 -0400
+++ song/Song.cxx 2012-04-11 01:02:09.000000000 -0400
@@ -51,7 +51,7 @@
}
for (i = 0; i < s.num_tracks; i++) {
tracks[i] = new EventTree(*s.tracks[i]);
- assert(tracks[1] != 0);
+ assert(tracks[i] != 0);
}
}
@@ -102,7 +102,7 @@
for (i = 0; i < num_tracks; i++)
delete tracks[i];
- delete tracks;
+ delete[] tracks;
}
Event *
--- tclmCmd.cxx 1996-08-04 23:47:12.000000000 -0400
+++ tclmCmd.cxx 2012-04-11 01:14:10.000000000 -0400
@@ -41,39 +41,27 @@
#include "tclmEvnt.h"
#include "patchlvl.h"
-static int Tclm_MidiMake(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv);
-static int Tclm_MidiFree(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv);
-static int Tclm_MidiRead(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv);
-static int Tclm_MidiWrite(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv);
-static int Tclm_MidiConfig(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv);
-static int Tclm_MidiRewind(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv);
-static int Tclm_MidiGet(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv);
-static int Tclm_MidiPut(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv);
-static int Tclm_MidiDelete(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv);
-static int Tclm_MidiMerge(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv);
-static int Tclm_MidiSplit(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv);
-static int Tclm_MidiCopy(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv);
-static int Tclm_MidiVersion(ClientData client_data, Tcl_Interp *interp,
- int argc, char **argv);
-static int Tclm_MidiTrack(ClientData client_data, Tcl_Interp *interp,
- int argc, char **argv);
-static int Tclm_MidiGrep(ClientData client_data, Tcl_Interp *interp,
- int argc, char **argv);
+static Tcl_CmdProc Tclm_MidiMake;
+static Tcl_CmdProc Tclm_MidiFree;
+static Tcl_CmdProc Tclm_MidiRead;
+static Tcl_CmdProc Tclm_MidiWrite;
+static Tcl_CmdProc Tclm_MidiConfig;
+static Tcl_CmdProc Tclm_MidiRewind;
+static Tcl_CmdProc Tclm_MidiGet;
+static Tcl_CmdProc Tclm_MidiPut;
+static Tcl_CmdProc Tclm_MidiDelete;
+static Tcl_CmdProc Tclm_MidiMerge;
+static Tcl_CmdProc Tclm_MidiSplit;
+static Tcl_CmdProc Tclm_MidiCopy;
+static Tcl_CmdProc Tclm_MidiVersion;
+static Tcl_CmdProc Tclm_MidiTrack;
+static Tcl_CmdProc Tclm_MidiGrep;
static int Tclm_GetTrack(TclmInterp *tclm_interp, Tcl_Interp *interp,
const char *str, Song **song, int *track);
+#define SET_CONST_RESULT(string) \
+ Tcl_SetResult(interp, (char *)(void *)string, TCL_STATIC)
+
/*
* DllEntryPoint --
@@ -98,8 +86,7 @@
ti = new TclmInterp;
if (ti == 0) {
- Tcl_SetResult(interp, "Out of memory in Tclmidi_Init",
- TCL_STATIC);
+ SET_CONST_RESULT("Out of memory in Tclmidi_Init");
return (TCL_ERROR);
}
Tcl_CreateCommand(interp, "midimake", Tclm_MidiMake, ti, 0);
@@ -129,7 +116,7 @@
int
Tclm_MidiMake(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
TclmInterp *tclm_interp;
Song *s;
@@ -145,13 +132,13 @@
s = new Song;
key = tclm_interp->AddSong(s);
Tcl_SetResult(interp, key, TCL_VOLATILE);
- delete key;
+ delete[] key;
return (TCL_OK);
}
int
Tclm_MidiFree(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
TclmInterp *tclm_interp;
@@ -171,7 +158,7 @@
int
Tclm_MidiRead(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
Tcl_Channel channel;
int mode;
@@ -211,7 +198,7 @@
int
Tclm_MidiWrite(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
TclmInterp *tclm_interp;
Song *song;
@@ -250,12 +237,13 @@
int
Tclm_MidiConfig(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
ostrstream *buf;
TclmInterp *tclm_interp;
Song *song;
- char *str, **sub_argv;
+ char *str;
+ const char **sub_argv;
int i, sub_argc, value;
if (argc < 2) {
@@ -338,8 +326,8 @@
}
break;
default:
- Tcl_SetResult(interp, "wrong # args: should be "
- "{format|division|tracks ?value?}", TCL_STATIC);
+ SET_CONST_RESULT("wrong # args: should be "
+ "{format|division|tracks ?value?}");
return (TCL_ERROR);
break;
}
@@ -350,7 +338,7 @@
int
Tclm_MidiRewind(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
TclmInterp *tclm_interp;
Song *song;
@@ -380,7 +368,7 @@
int
Tclm_MidiGet(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
ostrstream *buf;
long time;
@@ -421,7 +409,7 @@
printable = 0;
while (!printable) {
if ((e = song->NextEvent(track)) == 0) {
- Tcl_SetResult(interp, "EOT", TCL_STATIC);
+ SET_CONST_RESULT("EOT");
printable = 1;
} else {
buf = new ostrstream;
@@ -432,7 +420,7 @@
TCL_VOLATILE);
printable = 1;
}
- delete str;
+ delete[] str;
delete buf;
}
}
@@ -440,7 +428,7 @@
printable = 0;
while (!printable) {
if ((e = song->PrevEvent(track)) == 0) {
- Tcl_SetResult(interp, "EOT", TCL_STATIC);
+ SET_CONST_RESULT("EOT");
printable = 1;
} else {
buf = new ostrstream;
@@ -459,7 +447,7 @@
if (Tcl_GetLong(interp, argv[3], &time) != TCL_OK)
return (TCL_ERROR);
if ((events = song->GetEvents((short)track, time)) == 0)
- Tcl_SetResult(interp, "EOT", TCL_STATIC);
+ SET_CONST_RESULT("EOT");
else {
for (e = events; e != 0; e = e->GetNextEvent()) {
buf = new ostrstream;
@@ -477,7 +465,7 @@
int
Tclm_MidiPut(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
TclmInterp *tclm_interp;
Song *song;
@@ -514,17 +502,16 @@
if ((event = Tclm_ParseEvent(interp, argv[3])) == 0) {
if (strlen(interp->result) == 0)
- Tcl_SetResult(interp, "No more memory", TCL_STATIC);
+ SET_CONST_RESULT("No more memory");
return (TCL_ERROR);
}
if (event->IsWildcard()) {
- Tcl_SetResult(interp, "Can't put wildcard events in a song",
- TCL_STATIC);
+ SET_CONST_RESULT("Can't put wildcard events in a song");
return (TCL_ERROR);
}
new_e1 = song->PutEvent(track, *event);
if (new_e1 == 0) {
- Tcl_SetResult(interp, "Couldn't put event", TCL_STATIC);
+ SET_CONST_RESULT("Couldn't put event");
return (TCL_ERROR);
}
// check to see if it has a note off too
@@ -534,8 +521,7 @@
if (np != 0) {
new_e2 = (NoteEvent *)song->PutEvent(track, *np);
if (new_e2 == 0) {
- Tcl_SetResult(interp, "Couldn't put event",
- TCL_STATIC);
+ SET_CONST_RESULT("Couldn't put event");
return (TCL_ERROR);
}
((NoteEvent *)new_e1)->SetNotePair(new_e2);
@@ -549,7 +535,7 @@
int
Tclm_MidiDelete(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
TclmInterp *tclm_interp;
Song *song;
@@ -592,17 +578,16 @@
if (Tcl_GetLong(interp, argv[5], (long *)&end) != TCL_OK)
return (TCL_ERROR);
if (!song->DeleteRange(track, start, end)) {
- Tcl_SetResult(interp, "couldn't delete range",
- TCL_STATIC);
+ SET_CONST_RESULT("couldn't delete range");
return (TCL_ERROR);
}
- Tcl_SetResult(interp, "1", TCL_STATIC);
+ SET_CONST_RESULT("1");
return (TCL_OK);
}
if ((event = Tclm_ParseEvent(interp, argv[3])) == 0) {
if (strlen(interp->result) == 0)
- Tcl_SetResult(interp, "No more memory", TCL_STATIC);
+ SET_CONST_RESULT("No more memory");
return (TCL_ERROR);
}
// If this is a NoteOn/NoteOff pair, get real NoteOff from tree
@@ -616,7 +601,7 @@
for (e = events; e != 0 && !(*event == *e);
e = e->GetNextEvent());
if (e == 0) {
- Tcl_SetResult(interp, "0", TCL_STATIC);
+ SET_CONST_RESULT("0");
delete ((NoteEvent *)event)->GetNotePair();
delete event;
return (TCL_OK);
@@ -625,7 +610,7 @@
// find real NoteOff pair and delete it
note_off = ((NoteEvent *)e)->GetNotePair();
if (!song->DeleteEvent(track, *note_off)) {
- Tcl_SetResult(interp, "0", TCL_STATIC);
+ SET_CONST_RESULT("0");
delete ((NoteEvent *)event)->GetNotePair();
delete event;
return (TCL_OK);
@@ -633,7 +618,7 @@
delete ((NoteEvent *)event)->GetNotePair();
}
if (!song->DeleteEvent(track, *event)) {
- Tcl_SetResult(interp, "0", TCL_STATIC);
+ SET_CONST_RESULT("0");
if (event->GetType() == NOTEON &&
((NoteEvent *)event)->GetNotePair() != 0)
delete ((NoteEvent *)event)->GetNotePair();
@@ -641,13 +626,13 @@
return (TCL_OK);
}
delete event;
- Tcl_SetResult(interp, "1", TCL_STATIC);
+ SET_CONST_RESULT("1");
return (TCL_OK);
}
int
Tclm_MidiMerge(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
TclmInterp *tclm_interp;
Song *dest_song, *src_song;
@@ -680,7 +665,7 @@
int
Tclm_MidiSplit(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
TclmInterp *tclm_interp;
Song *src_song, *meta_song, *normal_song;
@@ -715,7 +700,7 @@
int
Tclm_MidiCopy(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
TclmInterp *tclm_interp;
EventTree *tmp_track;
@@ -748,6 +733,7 @@
scalar = (double)dest_song->GetDivision() / src_song->GetDivision();
tmp_track = src_song->GetRange(src_track, sstart, send);
+fprintf(stderr, "Got tmp_track as %p\n", tmp_track);
if (tmp_track == 0) {
Tcl_AppendResult(interp, "Couldn't get range from: ", argv[3],
" to ", argv[4], 0);
@@ -757,20 +743,23 @@
if (!src_song->DeleteRange(src_track, sstart, send)) {
Tcl_AppendResult(interp, "Couldn't remove events "
"from source track", 0);
+ delete tmp_track;
return (TCL_ERROR);
}
}
if (!dest_song->Add(dest_track, *tmp_track, dstart, scalar)) {
Tcl_AppendResult(interp, "Couldn't add range", 0);
+ delete tmp_track;
return (TCL_ERROR);
}
+fprintf(stderr, "Deleting tmp_track %p\n", tmp_track);
delete tmp_track;
return (TCL_OK);
}
int
Tclm_MidiVersion(ClientData client_data, Tcl_Interp *interp, int argc,
- char *argv[])
+ const char *argv[])
{
ClientData *dummy;
@@ -782,13 +771,13 @@
argv[0], "\"", 0);
return (TCL_ERROR);
}
- Tcl_SetResult(interp, (char *)TCLMIDI_VERSION, TCL_STATIC);
+ SET_CONST_RESULT(TCLMIDI_VERSION);
return (TCL_OK);
}
int
Tclm_MidiTrack(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
TclmInterp *tclm_interp;
Song *song;
@@ -848,7 +837,7 @@
int
Tclm_MidiGrep(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
TclmInterp *tclm_interp;
Song *song;
@@ -857,6 +846,7 @@
NoteEvent *np;
ostrstream *buf;
char *str;
+ int result;
if (argc < 4) {
Tcl_AppendResult(interp, "wrong # args: should be \"",
@@ -888,7 +878,7 @@
num_events = argc - 3;
events = new Event *[num_events];
if (events == 0) {
- Tcl_SetResult(interp, "No more memory", TCL_STATIC);
+ SET_CONST_RESULT("No more memory");
return (TCL_ERROR);
}
for (i = 0; i < num_events; i++) {
@@ -896,8 +886,7 @@
events[i] = Tclm_ParseEvent(interp, argv[i + 3]);
if (events[i] == 0) {
if (strlen(interp->result) == 0)
- Tcl_SetResult(interp, "No more memory",
- TCL_STATIC);
+ SET_CONST_RESULT("No more memory");
i--;
for (; i >= 0; i--) {
if (events[i]->GetType() == NOTEON) {
@@ -913,9 +902,11 @@
}
}
if (!song->Grep(track, events, num_events, &matched, &num_matched)) {
- Tcl_SetResult(interp, "midigrep failed", TCL_STATIC);
- return (TCL_ERROR);
- }
+ SET_CONST_RESULT("midigrep failed");
+ result = TCL_ERROR;
+ } else
+ result = TCL_OK;
+
for (i = 0; i < num_events; i++) {
if (events[i]->GetType() == NOTEON) {
np = ((NoteEvent *)events[i])->GetNotePair();
@@ -924,33 +915,33 @@
}
delete events[i];
}
- delete events;
+ delete[] events;
for (i = 0; i < num_matched; i++) {
buf = new ostrstream;
Tclm_PrintEvent(*buf, matched[i]);
str = buf->str();
if (str != 0 && str[0] != '\0')
Tcl_AppendElement(interp, str);
- delete str;
+ delete[] str;
delete buf;
}
- delete matched;
+ delete[] matched;
+ return (result);
return (TCL_OK);
}
-
int
Tclm_GetTrack(TclmInterp *tclm_interp, Tcl_Interp *interp, const char *str,
Song **song, int *track)
{
- char **sub_argv;
+ const char **sub_argv;
int sub_argc;
- if (Tcl_SplitList(interp, (char *)str, &sub_argc, &sub_argv) != TCL_OK)
+ if (Tcl_SplitList(interp, str, &sub_argc, &sub_argv) != TCL_OK)
return (TCL_ERROR);
if (sub_argc != 2) {
- Tcl_SetResult(interp, "bad track designation: "
- "should be \"{MidiID Track}\"", TCL_STATIC);
+ SET_CONST_RESULT("bad track designation: "
+ "should be \"{MidiID Track}\"");
Tcl_Ckfree((char *)sub_argv);
return (TCL_ERROR);
}
--- tclmEvnt.cxx 1996-07-29 20:14:11.000000000 -0400
+++ tclmEvnt.cxx 2012-04-07 15:42:14.000000000 -0400
@@ -44,6 +44,9 @@
#include "tclmidi.h"
#include "tclmEvnt.h"
+#define SET_CONST_RESULT(string) \
+ Tcl_SetResult(interp, (char *)(void *)string, TCL_STATIC)
+
void
Tclm_PrintEvent(ostream &buf, Event *e)
{
@@ -148,7 +151,7 @@
buf << "* " << str << ends;
else
buf << e->GetTime() << " " << str << ends;
- delete str;
+ delete[] str;
}
char *
@@ -552,13 +555,9 @@
}
char *
-Tclm_PrintMetaEndOfTrack(MetaEndOfTrackEvent *e)
+Tclm_PrintMetaEndOfTrack(MetaEndOfTrackEvent *)
{
ostrstream buf;
- MetaEndOfTrackEvent *dummy;
-
- // shut up a warning
- dummy = e;
buf << "MetaEndOfTrack" << ends;
return (buf.str());
@@ -722,11 +721,11 @@
}
Event *
-Tclm_ParseEvent(Tcl_Interp *interp, char *str)
+Tclm_ParseEvent(Tcl_Interp *interp, const char *str)
{
Event *event;
- Event *(*pfunc)(Tcl_Interp *, long, int, char **);
- char **argv, **aptr;;
+ Event *(*pfunc)(Tcl_Interp *, long, int, const char **);
+ const char **argv, **aptr;
char *name;
long time;
int argc, i, length;
@@ -852,18 +851,19 @@
}
event = pfunc(interp, time, argc, argv);
Tcl_Ckfree((char *)aptr);
- delete name;
+ delete[] name;
return (event);
}
Event *
-Tclm_ParseNoteOff(Tcl_Interp *interp, long time, int argc, char **argv)
+Tclm_ParseNoteOff(Tcl_Interp *interp, long time, int argc,
+ const char **argv)
{
int channel, pitch, velocity;
if (argc != 3 && argc != 4) {
- Tcl_SetResult(interp, "bad event: should be \"time NoteOff "
- "channel pitch ?velocity?\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be \"time NoteOff "
+ "channel pitch ?velocity?\"");
return (0);
}
@@ -886,13 +886,14 @@
}
Event *
-Tclm_ParseNoteOn(Tcl_Interp *interp, long time, int argc, char **argv)
+Tclm_ParseNoteOn(Tcl_Interp *interp, long time, int argc,
+ const char **argv)
{
int channel, pitch, velocity;
if (argc != 4) {
- Tcl_SetResult(interp, "bad event: should be \"time NoteOn "
- "channel pitch velocity\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be \"time NoteOn "
+ "channel pitch velocity\"");
return (0);
}
@@ -913,7 +914,8 @@
}
Event *
-Tclm_ParseNote(Tcl_Interp *interp, long time, int argc, char **argv)
+Tclm_ParseNote(Tcl_Interp *interp, long time, int argc,
+ const char **argv)
{
NoteOnEvent *event;
NoteOffEvent *off;
@@ -921,8 +923,8 @@
int channel, pitch, velocity;
if (argc != 5) {
- Tcl_SetResult(interp, "bad event: should be \"time Note "
- "channel pitch velocity duration\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be \"time Note "
+ "channel pitch velocity duration\"");
return (0);
}
@@ -964,13 +966,14 @@
}
Event *
-Tclm_ParseKeyPressure(Tcl_Interp *interp, long time, int argc, char **argv)
+Tclm_ParseKeyPressure(Tcl_Interp *interp, long time, int argc,
+ const char **argv)
{
int channel, pitch, pressure;
if (argc != 4) {
- Tcl_SetResult(interp, "bad event: should be "
- "\"time KeyPressure channel pitch pressure\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be "
+ "\"time KeyPressure channel pitch pressure\"");
return (0);
}
@@ -991,13 +994,14 @@
}
Event *
-Tclm_ParseParameter(Tcl_Interp *interp, long time, int argc, char **argv)
+Tclm_ParseParameter(Tcl_Interp *interp, long time, int argc,
+ const char **argv)
{
int channel, parameter, value;
if (argc != 4) {
- Tcl_SetResult(interp, "bad event: should be \"time Parameter "
- "channel parameter value\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be \"time Parameter "
+ "channel parameter value\"");
return (0);
}
@@ -1018,13 +1022,14 @@
}
Event *
-Tclm_ParseProgram(Tcl_Interp *interp, long time, int argc, char **argv)
+Tclm_ParseProgram(Tcl_Interp *interp, long time, int argc,
+ const char **argv)
{
int channel, value;
if (argc != 3) {
- Tcl_SetResult(interp, "bad event: should be \"time Program "
- "channel value\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be \"time Program "
+ "channel value\"");
return (0);
}
@@ -1041,13 +1046,14 @@
}
Event *
-Tclm_ParseChannelPressure(Tcl_Interp *interp, long time, int argc, char **argv)
+Tclm_ParseChannelPressure(Tcl_Interp *interp, long time, int argc,
+ const char **argv)
{
int channel, pressure;
if (argc != 3) {
- Tcl_SetResult(interp, "bad event: should be "
- "\"time ChannelPressure channel pressure\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be "
+ "\"time ChannelPressure channel pressure\"");
return (0);
}
@@ -1064,14 +1070,15 @@
}
Event *
-Tclm_ParsePitchWheel(Tcl_Interp *interp, long time, int argc, char **argv)
+Tclm_ParsePitchWheel(Tcl_Interp *interp, long time, int argc,
+ const char **argv)
{
int channel;
long value;
if (argc != 3) {
- Tcl_SetResult(interp, "bad event: should be \"time PitchWheel "
- "channel value\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be \"time PitchWheel "
+ "channel value\"");
return (0);
}
@@ -1088,19 +1095,19 @@
}
Event *
-Tclm_ParseSystemExclusive(Tcl_Interp *interp, long time, int argc, char **argv)
+Tclm_ParseSystemExclusive(Tcl_Interp *interp, long time, int argc,
+ const char **argv)
{
- char **str;
+ const char **str;
SystemExclusiveEvent *event;
unsigned char *data;
- long len;
+ int len;
int i, val;
if ((argc != 2 && argc != 3) || (argc == 3 && strncmp(argv[1], "cont",
4) != 0)) {
- Tcl_SetResult(interp, "bad event: should be "
- "\"time SystemExclusive ?continued? {data ?data ...?}\"",
- TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be "
+ "\"time SystemExclusive ?continued? {data ?data ...?}\"");
return (0);
}
@@ -1111,7 +1118,7 @@
event = new SystemExclusiveEvent(time, data, len);
return (event);
}
- if (Tcl_SplitList(interp, argv[1], (int *)&len, &str) != TCL_OK)
+ if (Tcl_SplitList(interp, argv[1], &len, &str) != TCL_OK)
return (0);
} else {
if (strcmp(argv[2], "*") == 0) {
@@ -1121,7 +1128,7 @@
event->SetContinued(1);
return (event);
}
- if (Tcl_SplitList(interp, argv[2], (int *)&len, &str) != TCL_OK)
+ if (Tcl_SplitList(interp, argv[2], &len, &str) != TCL_OK)
return (0);
}
@@ -1139,20 +1146,20 @@
event = new SystemExclusiveEvent(time, data, len);
if (argc == 3)
event->SetContinued(1);
- delete data;
+ delete[] data;
return (event);
}
Event *
Tclm_ParseMetaSequenceNumber(Tcl_Interp *interp, long time, int argc,
- char **argv)
+ const char **argv)
{
long num;
if (argc != 2) {
- Tcl_SetResult(interp, "bad event: should be "
- "\"time MetaSequenceNumber number\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be "
+ "\"time MetaSequenceNumber number\"");
return (0);
}
@@ -1165,13 +1172,14 @@
}
Event *
-Tclm_ParseMetaText(Tcl_Interp *interp, long time, int argc, char **argv)
+Tclm_ParseMetaText(Tcl_Interp *interp, long time, int argc,
+ const char **argv)
{
const char *t;
if (argc != 2) {
- Tcl_SetResult(interp, "bad event: should be \"time MetaText "
- "string\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be \"time MetaText "
+ "string\"");
return (0);
}
if (strcmp(argv[1], "*") == 0)
@@ -1183,13 +1191,14 @@
}
Event *
-Tclm_ParseMetaCopyright(Tcl_Interp *interp, long time, int argc, char **argv)
+Tclm_ParseMetaCopyright(Tcl_Interp *interp, long time, int argc,
+ const char **argv)
{
const char *t;
if (argc != 2) {
- Tcl_SetResult(interp, "bad event: should be "
- "\"time MetaCopyright string\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be "
+ "\"time MetaCopyright string\"");
return (0);
}
@@ -1203,13 +1212,13 @@
Event *
Tclm_ParseMetaSequenceName(Tcl_Interp *interp, long time, int argc,
- char **argv)
+ const char **argv)
{
const char *t;
if (argc != 2) {
- Tcl_SetResult(interp, "bad event: should be "
- "\"time MetaSequenceName string\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be "
+ "\"time MetaSequenceName string\"");
return (0);
}
@@ -1223,13 +1232,13 @@
Event *
Tclm_ParseMetaInstrumentName(Tcl_Interp *interp, long time, int argc,
- char **argv)
+ const char **argv)
{
const char *t;
if (argc != 2) {
- Tcl_SetResult(interp, "bad event: should be "
- "\"time MetaInstrumentName string\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be "
+ "\"time MetaInstrumentName string\"");
return (0);
}
@@ -1242,13 +1251,14 @@
}
Event *
-Tclm_ParseMetaLyric(Tcl_Interp *interp, long time, int argc, char **argv)
+Tclm_ParseMetaLyric(Tcl_Interp *interp, long time, int argc,
+ const char **argv)
{
const char *t;
if (argc != 2) {
- Tcl_SetResult(interp, "bad event: should be \"time MetaLyric "
- "string\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be \"time MetaLyric "
+ "string\"");
return (0);
}
@@ -1261,13 +1271,14 @@
}
Event *
-Tclm_ParseMetaMarker(Tcl_Interp *interp, long time, int argc, char **argv)
+Tclm_ParseMetaMarker(Tcl_Interp *interp, long time, int argc,
+ const char **argv)
{
const char *t;
if (argc != 2) {
- Tcl_SetResult(interp, "bad event: should be \"time MetaMarker "
- "string\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be \"time MetaMarker "
+ "string\"");
return (0);
}
@@ -1280,13 +1291,14 @@
}
Event *
-Tclm_ParseMetaCue(Tcl_Interp *interp, long time, int argc, char **argv)
+Tclm_ParseMetaCue(Tcl_Interp *interp, long time, int argc,
+ const char **argv)
{
const char *t;
if (argc != 2) {
- Tcl_SetResult(interp, "bad event: should be \"time MetaCue "
- "string\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be \"time MetaCue "
+ "string\"");
return (0);
}
@@ -1300,17 +1312,17 @@
Event *
Tclm_ParseMetaChannelPrefix(Tcl_Interp *interp, long time, int argc,
- char **argv)
+ const char **argv)
{
- char **str;
+ const char **str;
MetaChannelPrefixEvent *event;
unsigned char *data;
- long len;
+ int len;
int i, val;
if (argc != 2) {
- Tcl_SetResult(interp, "bad event: should be "
- "\"time MetaChannelPrefix {data ?data ...?}\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be "
+ "\"time MetaChannelPrefix {data ?data ...?}\"");
return (0);
}
@@ -1319,7 +1331,7 @@
len = MetaChannelPrefixEvent::WC_LENGTH;
return (new MetaChannelPrefixEvent(time, data, len));
}
- if (Tcl_SplitList(interp, argv[1], (int *)&len, &str) != TCL_OK)
+ if (Tcl_SplitList(interp, argv[1], &len, &str) != TCL_OK)
return (0);
data = new unsigned char[len];
@@ -1334,19 +1346,20 @@
Tcl_Ckfree((char *)str);
event = new MetaChannelPrefixEvent(time, data, len);
- delete data;
+ delete[] data;
return (event);
}
Event *
-Tclm_ParseMetaPortNumber(Tcl_Interp *interp, long time, int argc, char **argv)
+Tclm_ParseMetaPortNumber(Tcl_Interp *interp, long time, int argc,
+ const char **argv)
{
int port;
if (argc != 2) {
- Tcl_SetResult(interp, "bad event: should be "
- "\"time MetaPortNumber port\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be "
+ "\"time MetaPortNumber port\"");
return (0);
}
@@ -1359,16 +1372,13 @@
}
Event *
-Tclm_ParseMetaEndOfTrack(Tcl_Interp *interp, long time, int argc, char **argv)
+Tclm_ParseMetaEndOfTrack(Tcl_Interp *interp, long time, int argc,
+ const char **)
{
- char *dummy;
-
- // shut up a warning
- dummy = argv[0];
if (argc != 1) {
- Tcl_SetResult(interp, "bad event: should be "
- "\"time MetaEndOfTrack\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be "
+ "\"time MetaEndOfTrack\"");
return (0);
}
@@ -1376,13 +1386,14 @@
}
Event *
-Tclm_ParseMetaTempo(Tcl_Interp *interp, long time, int argc, char **argv)
+Tclm_ParseMetaTempo(Tcl_Interp *interp, long time, int argc,
+ const char **argv)
{
int tempo;
if (argc != 2) {
- Tcl_SetResult(interp, "bad event: should be \"time MetaTempo "
- "tempo\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be \"time MetaTempo "
+ "tempo\"");
return (0);
}
@@ -1395,13 +1406,14 @@
}
Event *
-Tclm_ParseMetaSMPTE(Tcl_Interp *interp, long time, int argc, char **argv)
+Tclm_ParseMetaSMPTE(Tcl_Interp *interp, long time, int argc,
+ const char **argv)
{
int hour, minute, second, frame, fractional_frame;
if (argc != 6) {
- Tcl_SetResult(interp, "bad event: should be \"time MetaSMPTE "
- "hour minute second frame fractional_frame\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be \"time MetaSMPTE "
+ "hour minute second frame fractional_frame\"");
return (0);
}
@@ -1431,14 +1443,14 @@
}
Event *
-Tclm_ParseMetaTime(Tcl_Interp *interp, long time, int argc, char **argv)
+Tclm_ParseMetaTime(Tcl_Interp *interp, long time, int argc,
+ const char **argv)
{
int numerator, denominator, clocks, thirty_seconds;
if (argc != 5) {
- Tcl_SetResult(interp, "bad event: should be \"time MetaTime "
- "numerator denominator clocks/beat 32nds/quarter\"",
- TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be \"time MetaTime "
+ "numerator denominator clocks/beat 32nds/quarter\"");
return (0);
}
@@ -1464,15 +1476,16 @@
}
Event *
-Tclm_ParseMetaKey(Tcl_Interp *interp, long time, int argc, char **argv)
+Tclm_ParseMetaKey(Tcl_Interp *interp, long time, int argc,
+ const char **argv)
{
Key key;
Mode mode;
int match;
if (argc != 3) {
- Tcl_SetResult(interp, "bad event: should be \"time MetaKey "
- "key mode\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be \"time MetaKey "
+ "key mode\"");
return (0);
}
@@ -1500,18 +1513,17 @@
Event *
Tclm_ParseMetaSequencerSpecific(Tcl_Interp *interp, long time, int argc,
- char **argv)
+ const char **argv)
{
- char **str;
+ const char **str;
MetaSequencerSpecificEvent *event;
unsigned char *data;
- long len;
+ int len;
int i, val;
if (argc != 2) {
- Tcl_SetResult(interp, "bad event: should be "
- "\"time MetaSequencerSpecific {data ?data ...?}\"",
- TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be "
+ "\"time MetaSequencerSpecific {data ?data ...?}\"");
return (0);
}
@@ -1520,7 +1532,7 @@
len = MetaSequencerSpecificEvent::WC_LENGTH;
return (new MetaSequencerSpecificEvent(time, data, len));
}
- if (Tcl_SplitList(interp, argv[1], (int *)&len, &str) != TCL_OK)
+ if (Tcl_SplitList(interp, argv[1], &len, &str) != TCL_OK)
return (0);
data = new unsigned char[len];
@@ -1535,23 +1547,24 @@
Tcl_Ckfree((char *)str);
event = new MetaSequencerSpecificEvent(time, data, len);
- delete data;
+ delete[] data;
return (event);
}
Event *
-Tclm_ParseMetaUnknown(Tcl_Interp *interp, long time, int argc, char **argv)
+Tclm_ParseMetaUnknown(Tcl_Interp *interp, long time, int argc,
+ const char **argv)
{
- char **str;
+ const char **str;
MetaUnknownEvent *event;
unsigned char *data;
- long len;
+ int len;
int i, type, val;
if (argc != 3) {
- Tcl_SetResult(interp, "bad event: should be \"time MetaUnknown "
- "type {data ?data ...?}\"", TCL_STATIC);
+ SET_CONST_RESULT("bad event: should be \"time MetaUnknown "
+ "type {data ?data ...?}\"");
return (0);
}
@@ -1565,7 +1578,7 @@
len = MetaUnknownEvent::WC_LENGTH;
return (new MetaUnknownEvent(time, data, len, type));
}
- if (Tcl_SplitList(interp, argv[2], (int *)&len, &str) != TCL_OK)
+ if (Tcl_SplitList(interp, argv[2], &len, &str) != TCL_OK)
return (0);
data = new unsigned char[len];
@@ -1580,7 +1593,7 @@
Tcl_Ckfree((char *)str);
event = new MetaUnknownEvent(time, data, len, type);
- delete data;
+ delete[] data;
return (event);
}
--- tclmEvnt.h 1996-02-12 19:25:00.000000000 -0500
+++ tclmEvnt.h 2012-04-07 14:08:43.000000000 -0400
@@ -61,57 +61,57 @@
extern char *Tclm_PrintMetaKey(MetaKeyEvent *e);
extern char *Tclm_PrintMetaSequencerSpecific(MetaSequencerSpecificEvent *e);
extern char *Tclm_PrintMetaUnknown(MetaUnknownEvent *e);
-extern Event *Tclm_ParseEvent(Tcl_Interp *interp, char *str);
+extern Event *Tclm_ParseEvent(Tcl_Interp *interp, const char *str);
extern Event *Tclm_ParseNoteOff(Tcl_Interp *interp, long time, int argc,
- char **argv);
+ const char **argv);
extern Event *Tclm_ParseNoteOn(Tcl_Interp *interp, long time, int argc,
- char **argv);
+ const char **argv);
extern Event *Tclm_ParseNote(Tcl_Interp *interp, long time, int argc,
- char **argv);
+ const char **argv);
extern Event *Tclm_ParseKeyPressure(Tcl_Interp *interp, long time, int argc,
- char **argv);
+ const char **argv);
extern Event *Tclm_ParseParameter(Tcl_Interp *interp, long time, int argc,
- char **argv);
+ const char **argv);
extern Event *Tclm_ParseProgram(Tcl_Interp *interp, long time, int argc,
- char **argv);
+ const char **argv);
extern Event *Tclm_ParseChannelPressure(Tcl_Interp *interp, long time, int argc,
- char **argv);
+ const char **argv);
extern Event *Tclm_ParsePitchWheel(Tcl_Interp *interp, long time, int argc,
- char **argv);
+ const char **argv);
extern Event *Tclm_ParseSystemExclusive(Tcl_Interp *interp, long time, int argc,
- char **argv);
+ const char **argv);
extern Event *Tclm_ParseMetaSequenceNumber(Tcl_Interp *interp, long time,
- int argc, char **argv);
+ int argc, const char **argv);
extern Event *Tclm_ParseMetaText(Tcl_Interp *interp, long time, int argc,
- char **argv);
+ const char **argv);
extern Event *Tclm_ParseMetaCopyright(Tcl_Interp *interp, long time, int argc,
- char **argv);
+ const char **argv);
extern Event *Tclm_ParseMetaSequenceName(Tcl_Interp *interp, long time,
- int argc, char **argv);
+ int argc, const char **argv);
extern Event *Tclm_ParseMetaInstrumentName(Tcl_Interp *interp, long time,
- int argc, char **argv);
+ int argc, const char **argv);
extern Event *Tclm_ParseMetaLyric(Tcl_Interp *interp, long time, int argc,
- char **argv);
+ const char **argv);
extern Event *Tclm_ParseMetaMarker(Tcl_Interp *interp, long time, int argc,
- char **argv);
+ const char **argv);
extern Event *Tclm_ParseMetaCue(Tcl_Interp *interp, long time, int argc,
- char **argv);
+ const char **argv);
extern Event *Tclm_ParseMetaChannelPrefix(Tcl_Interp *interp, long time,
- int argc, char **argv);
+ int argc, const char **argv);
extern Event *Tclm_ParseMetaPortNumber(Tcl_Interp *interp, long time, int argc,
- char **argv);
+ const char **argv);
extern Event *Tclm_ParseMetaEndOfTrack(Tcl_Interp *interp, long time, int argc,
- char **argv);
+ const char **argv);
extern Event *Tclm_ParseMetaTempo(Tcl_Interp *interp, long time, int argc,
- char **argv);
+ const char **argv);
extern Event *Tclm_ParseMetaSMPTE(Tcl_Interp *interp, long time, int argc,
- char **argv);
+ const char **argv);
extern Event *Tclm_ParseMetaTime(Tcl_Interp *interp, long time, int argc,
- char **argv);
+ const char **argv);
extern Event *Tclm_ParseMetaKey(Tcl_Interp *interp, long time, int argc,
- char **argv);
+ const char **argv);
extern Event *Tclm_ParseMetaSequencerSpecific(Tcl_Interp *interp, long time,
- int argc, char **argv);
+ int argc, const char **argv);
extern Event *Tclm_ParseMetaUnknown(Tcl_Interp *interp, long time, int argc,
- char **argv);
+ const char **argv);
#endif
--- tclmPlay.cxx 1996-08-04 23:47:12.000000000 -0400
+++ tclmPlay.cxx 2012-04-07 14:08:43.000000000 -0400
@@ -43,30 +43,24 @@
#include "TclmDr75.h"
#endif
+#define SET_CONST_RESULT(string) \
+ Tcl_SetResult(interp, (char *)(void *)string, TCL_STATIC)
+
#if defined(HAVE_SYS_MIDIIOCTL_H)
static const int DeviceConfigured = 1;
#else
static const int DeviceConfigured = 0;
#endif
-static int Tclm_MidiPlay(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv);
-static int Tclm_MidiRecord(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv);
-static int Tclm_MidiStop(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv);
-static int Tclm_MidiWait(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv);
-static int Tclm_MidiDevice(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv);
-static int Tclm_MidiTime(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv);
-static int Tclm_MidiFeature(ClientData client_data, Tcl_Interp *interp,
- int argc, char **argv);
-static int Tclm_MidiSend(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv);
-static int Tclm_MidiRecv(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv);
+static Tcl_CmdProc Tclm_MidiPlay;
+static Tcl_CmdProc Tclm_MidiRecord;
+static Tcl_CmdProc Tclm_MidiStop;
+static Tcl_CmdProc Tclm_MidiWait;
+static Tcl_CmdProc Tclm_MidiDevice;
+static Tcl_CmdProc Tclm_MidiTime;
+static Tcl_CmdProc Tclm_MidiFeature;
+static Tcl_CmdProc Tclm_MidiSend;
+static Tcl_CmdProc Tclm_MidiRecv;
int
Tclm_PlayInit(Tcl_Interp *interp, TclmInterp *tclm_interp)
@@ -89,7 +83,7 @@
int
Tclm_MidiPlay(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
TclmInterp *tclm_interp;
Song *song;
@@ -130,13 +124,13 @@
dev->GetError(), 0);
return (TCL_ERROR);
}
- Tcl_SetResult(interp, "1", TCL_STATIC);
+ SET_CONST_RESULT("1");
return (TCL_OK);
}
int
Tclm_MidiRecord(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
TclmInterp *tclm_interp;
Song *rsong, *psong;
@@ -185,13 +179,13 @@
dev->GetError(), 0);
return (TCL_ERROR);
}
- Tcl_SetResult(interp, "1", TCL_STATIC);
+ SET_CONST_RESULT("1");
return (TCL_OK);
}
int
Tclm_MidiStop(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
TclmInterp *tclm_interp;
MidiDevice *dev;
@@ -214,13 +208,13 @@
dev->GetError(), 0);
return (TCL_ERROR);
}
- Tcl_SetResult(interp, "1", TCL_STATIC);
+ SET_CONST_RESULT("1");
return (TCL_OK);
}
int
Tclm_MidiWait(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
TclmInterp *tclm_interp;
MidiDevice *dev;
@@ -241,19 +235,20 @@
"to stop\n", dev->GetError(), 0);
return (TCL_ERROR);
}
- Tcl_SetResult(interp, "1", TCL_STATIC);
+ SET_CONST_RESULT("1");
return (TCL_OK);
}
int
Tclm_MidiDevice(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
TclmInterp *tclm_interp;
MidiDevice *dev;
ostrstream *buf;
unsigned short mask;
- char *dev_key, *str, **sub_argv;
+ const char *dev_key, **sub_argv;
+ char *str;
int con, i, imask, j, mt, sub_argc, value;
tclm_interp = (TclmInterp *)client_data;
@@ -293,7 +288,7 @@
dev = 0;
#endif
if (dev == 0) {
- Tcl_SetResult(interp, "Out of memory", TCL_STATIC);
+ SET_CONST_RESULT("Out of memory");
return (TCL_ERROR);
}
if (!dev->Open(argv[1])) {
@@ -303,8 +298,7 @@
}
dev_key = tclm_interp->AddDevice(dev);
if (dev_key == 0) {
- Tcl_SetResult(interp, "Couldn't add device",
- TCL_STATIC);
+ SET_CONST_RESULT("Couldn't add device");
return (TCL_ERROR);
}
Tcl_AppendResult(interp, dev_key, 0);
@@ -317,13 +311,13 @@
return (TCL_ERROR);
if (strcmp(sub_argv[0], "close") == 0) {
if (i != argc - 1) {
- Tcl_SetResult(interp, "Can't perform ops after "
- "closing device", TCL_STATIC);
+ SET_CONST_RESULT("Can't perform ops after "
+ "closing device");
return (TCL_ERROR);
}
if (dev_key == 0) {
- Tcl_SetResult(interp, "Can't close until after "
- "device has been opened", TCL_STATIC);
+ SET_CONST_RESULT("Can't close until after "
+ "device has been opened");
return (TCL_ERROR);
}
tclm_interp->DeleteDevice(dev_key);
@@ -465,7 +459,7 @@
int
Tclm_MidiTime(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
ostrstream tbuf;
unsigned long t;
@@ -498,11 +492,11 @@
int
Tclm_MidiFeature(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
TclmInterp *tclm_interp;
MidiDevice *dev;
- char **sub_argv;
+ const char **sub_argv;
int i, sub_argc;
if (argc < 3) {
@@ -542,7 +536,7 @@
int
Tclm_MidiSend(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
TclmInterp *tclm_interp;
MidiDevice *dev;
@@ -564,7 +558,7 @@
events = new Event *[argc - 2];
if (events == 0) {
- Tcl_SetResult(interp, "Out of memory", TCL_STATIC);
+ SET_CONST_RESULT("Out of memory");
return (TCL_ERROR);
}
num_events = 0;
@@ -585,8 +579,7 @@
}
} else {
if (strlen(interp->result) == 0) {
- Tcl_SetResult(interp, "Out of memory",
- TCL_STATIC);
+ SET_CONST_RESULT("Out of memory");
return (TCL_ERROR);
}
}
@@ -603,7 +596,7 @@
int
Tclm_MidiRecv(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
ostrstream *buf;
TclmInterp *tclm_interp;
--- tclmPtch.cxx 1996-08-04 23:47:13.000000000 -0400
+++ tclmPtch.cxx 2012-04-07 14:08:43.000000000 -0400
@@ -37,10 +37,8 @@
#include "tclmidi.h"
#include "TclmIntp.h"
-static int Tclm_PatchRead(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv);
-static int Tclm_PatchFree(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv);
+static Tcl_CmdProc Tclm_PatchRead;
+static Tcl_CmdProc Tclm_PatchFree;
int
Tclm_PatchInit(Tcl_Interp *interp, TclmInterp *tclm_interp)
@@ -53,7 +51,7 @@
int
Tclm_PatchRead(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
Tcl_Channel channel;
int mode;
@@ -96,7 +94,7 @@
int
Tclm_PatchFree(ClientData client_data, Tcl_Interp *interp, int argc,
- char **argv)
+ const char **argv)
{
TclmInterp *tclm_interp;