1
0
mirror of https://github.com/wfjm/w11.git synced 2026-01-16 16:48:03 +00:00

coverity: fixed for uninitialized variables

This commit is contained in:
wfjm 2018-09-22 11:14:45 +02:00
parent 4df1d3e549
commit c01fc7c053
10 changed files with 95 additions and 74 deletions

View File

@ -20,8 +20,10 @@ software or firmware builds or that the documentation is consistent.
The full set of tests is only run for tagged releases.
### Summary
- add Travis CI integration (phase 1)
- add Coverity (manual scan upload, not via Travis)
- add Travis CI integration (phase 1), see [Travis CI project wfjm/w11](https://travis-ci.org/wfjm/w11)
- add Coverity Scan (manual scan upload, not via Travis) see [Coverity project wfjm/w11](https://scan.coverity.com/projects/wfjm-w11).
- fixes for several coverity defected defects
- uninitialized variable (all uncritical)
- add KW11-P (programmable clock) to all w11 systems
- sys_w11_n4: reduce cache from 64 to 32 kB to keep timing closure
- stay with vivado 2017.2 as default tool, 2017.2 to 2018.2 exhibit much

View File

@ -1,6 +1,6 @@
// $Id: RlinkCommandList.cpp 983 2018-01-02 20:35:59Z mueller $
// $Id: RlinkCommandList.cpp 1047 2018-09-16 11:08:41Z mueller $
//
// Copyright 2011-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
// Copyright 2011-2018 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
//
// This program is free software; you may redistribute and/or modify it under
// the terms of the GNU General Public License as published by the Free
@ -13,6 +13,7 @@
//
// Revision History:
// Date Rev Version Comment
// 2018-09-16 1047 1.3.2 coverity fixup (uninitialized scalar)
// 2017-04-02 865 1.3.1 Dump(): add detail arg
// 2015-04-02 661 1.3 expect logic: add SetLastExpect methods
// 2014-11-23 606 1.2 new rlink v4 iface
@ -63,7 +64,8 @@ RlinkCommandList::RlinkCommandList()
//! Copy constructor
RlinkCommandList::RlinkCommandList(const RlinkCommandList& rhs)
: fList()
: fList(),
fLaboIndex(-1)
{
operator=(rhs);
}

View File

@ -1,6 +1,6 @@
// $Id: RlinkPortTerm.cpp 983 2018-01-02 20:35:59Z mueller $
// $Id: RlinkPortTerm.cpp 1048 2018-09-22 07:41:46Z mueller $
//
// Copyright 2011-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
// Copyright 2011-2018 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
//
// This program is free software; you may redistribute and/or modify it under
// the terms of the GNU General Public License as published by the Free
@ -13,6 +13,7 @@
//
// Revision History:
// Date Rev Version Comment
// 2018-09-21 1048 1.3.3 coverity fixup (uninitialized field)
// 2017-04-15 875 1.3.2 Open(): set default scheme
// 2017-04-07 868 1.3.1 Dump(): add detail arg
// 2015-04-12 666 1.3 drop xon/xoff excaping; add noinit attribute
@ -32,6 +33,7 @@
\brief Implemenation of RlinkPortTerm.
*/
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
@ -66,7 +68,10 @@ const uint8_t RlinkPortTerm::kc_xoff;
RlinkPortTerm::RlinkPortTerm()
: RlinkPort()
{}
{
memset(&fTiosOld,0,sizeof(fTiosOld));
memset(&fTiosNew,0,sizeof(fTiosNew));
}
//------------------------------------------+-----------------------------------
//! Destructor

View File

@ -1,6 +1,6 @@
// $Id: RtclRlinkConnect.cpp 983 2018-01-02 20:35:59Z mueller $
// $Id: RtclRlinkConnect.cpp 1048 2018-09-22 07:41:46Z mueller $
//
// Copyright 2011-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
// Copyright 2011-2018 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
//
// This program is free software; you may redistribute and/or modify it under
// the terms of the GNU General Public License as published by the Free
@ -13,6 +13,7 @@
//
// Revision History:
// Date Rev Version Comment
// 2018-09-16 1047 1.6.1 coverity fixup (uninitialized scalar)
// 2017-04-29 888 1.6 drop M_rawio; add M_rawread,M_rawrblk,M_rawwblk
// 2017-04-22 883 1.5.2 M_amap: -testname opt addr check; add hasrbmon get
// 2017-04-02 865 1.5.1 M_dump: use GetArgsDump and Dump detail
@ -238,7 +239,7 @@ int RtclRlinkConnect::M_exec(RtclArgs& args)
RlinkCommandList clist;
string opt;
uint16_t addr;
uint16_t addr=0;
vector<string> vardata;
vector<string> varstat;
@ -256,7 +257,7 @@ int RtclRlinkConnect::M_exec(RtclArgs& args)
clist.AddRreg(addr);
} else if (opt == "-rblk") { // -rblk addr size ?varData ?varStat
int32_t bsize;
int32_t bsize=0;
if (!GetAddr(args, addr)) return kERR;
if (!args.GetArg("bsize", bsize, 1, Obj().BlockSizeMax())) return kERR;
if (!GetVarName(args, "??varData", lsize, vardata)) return kERR;
@ -264,7 +265,7 @@ int RtclRlinkConnect::M_exec(RtclArgs& args)
clist.AddRblk(addr, (size_t) bsize);
} else if (opt == "-wreg") { // -wreg addr data ?varStat -------
uint16_t data;
uint16_t data=0;
if (!GetAddr(args, addr)) return kERR;
if (!args.GetArg("data", data)) return kERR;
if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR;
@ -288,7 +289,7 @@ int RtclRlinkConnect::M_exec(RtclArgs& args)
clist.AddAttn();
} else if (opt == "-init") { // -init addr data ?varStat -------
uint16_t data;
uint16_t data=0;
if (!GetAddr(args, addr)) return kERR;
if (!args.GetArg("data", data)) return kERR;
if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR;
@ -490,9 +491,9 @@ int RtclRlinkConnect::M_amap(RtclArgs& args)
args.SetResult(int(addrmap.Find(addr, tstname)));
} else if (opt == "-insert") { // amap -insert name addr
uint16_t tstaddr;
uint16_t tstaddr=0;
string tstname;
int tstint;
int tstint=0;
if (!args.GetArg("name", name)) return kERR;
// enforce that the name is not a valid representation of an int
if (Tcl_GetIntFromObj(nullptr, args[args.NDone()-1], &tstint) == kOK)
@ -528,7 +529,7 @@ int RtclRlinkConnect::M_amap(RtclArgs& args)
if (!args.OptValid()) return kERR;
if (!args.GetArg("?name", name)) return kERR;
if (args.NOptMiss()==0) { // amap name
uint16_t tstaddr;
uint16_t tstaddr=0;
if(addrmap.Find(name, tstaddr)) {
args.SetResult(int(tstaddr));
} else {
@ -633,8 +634,8 @@ int RtclRlinkConnect::M_oob(RtclArgs& args)
static RtclNameSet optset("-rlmon|-rlbmon|-rbmon|-sbcntl|-sbdata");
string opt;
uint16_t addr;
uint16_t data;
uint16_t addr=0;
uint16_t data=0;
RerrMsg emsg;
if (args.NextOpt(opt, optset)) {
@ -826,7 +827,7 @@ bool RtclRlinkConnect::GetAddr(RtclArgs& args, uint16_t& addr)
Tcl_Obj* pobj=0;
if (!args.GetArg("addr", pobj)) return kERR;
int tstint;
int tstint=0;
// if a number is given..
if (Tcl_GetIntFromObj(nullptr, pobj, &tstint) == kOK) {
if (tstint >= 0 && tstint <= 0xffff) {
@ -839,7 +840,7 @@ bool RtclRlinkConnect::GetAddr(RtclArgs& args, uint16_t& addr)
// if a name is given
} else {
string name(Tcl_GetString(pobj));
uint16_t tstaddr;
uint16_t tstaddr=0;
if (Obj().AddrMap().Find(name, tstaddr)) {
addr = tstaddr;
} else {

View File

@ -1,6 +1,6 @@
// $Id: RtclArgs.cpp 983 2018-01-02 20:35:59Z mueller $
// $Id: RtclArgs.cpp 1047 2018-09-16 11:08:41Z mueller $
//
// Copyright 2011-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
// Copyright 2011-2018 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
//
// This program is free software; you may redistribute and/or modify it under
// the terms of the GNU General Public License as published by the Free
@ -13,6 +13,7 @@
//
// Revision History:
// Date Rev Version Comment
// 2018-09-16 1047 1.0.9 coverity fixup (uninitialized scalar)
// 2014-08-22 584 1.0.8 use nullptr
// 2013-05-19 521 1.0.7 add NextSubOpt() method, pass optset's as const
// 2013-02-12 487 1.0.6 add CurrentArg() method
@ -93,6 +94,7 @@ RtclArgs::RtclArgs(const RtclArgs& rhs)
fObjv(rhs.fObjv),
fNDone(rhs.fNDone),
fNOptMiss(rhs.fNOptMiss),
fNConfigRead(rhs.fNConfigRead),
fOptErr(rhs.fOptErr),
fArgErr(rhs.fArgErr)
{}

View File

@ -1,6 +1,6 @@
// $Id: RtclClassBase.cpp 983 2018-01-02 20:35:59Z mueller $
// $Id: RtclClassBase.cpp 1047 2018-09-16 11:08:41Z mueller $
//
// Copyright 2011-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
// Copyright 2011-2018 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
//
// This program is free software; you may redistribute and/or modify it under
// the terms of the GNU General Public License as published by the Free
@ -13,6 +13,7 @@
//
// Revision History:
// Date Rev Version Comment
// 2018-09-16 1047 1.0.5 coverity fixup (uninitialized pointer)
// 2014-08-22 584 1.0.4 use nullptr
// 2013-02-10 485 1.0.3 add static const defs
// 2013-01-13 474 1.0.2 TclClassCmd(): check for existing Rtclproxy names
@ -56,7 +57,8 @@ const int RtclClassBase::kERR;
RtclClassBase::RtclClassBase(const std::string& type)
: fType(type),
fInterp(0)
fInterp(0),
fCmdToken(0)
{}
//------------------------------------------+-----------------------------------

View File

@ -1,6 +1,6 @@
// $Id: RtclProxyBase.cpp 983 2018-01-02 20:35:59Z mueller $
// $Id: RtclProxyBase.cpp 1047 2018-09-16 11:08:41Z mueller $
//
// Copyright 2011-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
// Copyright 2011-2018 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
//
// This program is free software; you may redistribute and/or modify it under
// the terms of the GNU General Public License as published by the Free
@ -13,6 +13,7 @@
//
// Revision History:
// Date Rev Version Comment
// 2018-09-16 1047 1.5.1 coverity fixup (uninitialized pointer)
// 2017-03-11 859 1.5 adopt new DispatchCmd() logic
// 2014-08-22 584 1.4.3 use nullptr
// 2013-02-09 485 1.4.2 add CommandName()
@ -54,7 +55,8 @@ typedef std::pair<RtclProxyBase::mmap_it_t, bool> mmap_ins_t;
RtclProxyBase::RtclProxyBase(const std::string& type)
: RtclCmdBase(),
fType(type),
fInterp(0)
fInterp(0),
fCmdToken(0)
{}
//------------------------------------------+-----------------------------------

View File

@ -1,6 +1,6 @@
// $Id: Rw11RdmaDisk.cpp 983 2018-01-02 20:35:59Z mueller $
// $Id: Rw11RdmaDisk.cpp 1047 2018-09-16 11:08:41Z mueller $
//
// Copyright 2015-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
// Copyright 2015-2018 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
//
// This program is free software; you may redistribute and/or modify it under
// the terms of the GNU General Public License as published by the Free
@ -13,6 +13,7 @@
//
// Revision History:
// Date Rev Version Comment
// 2018-09-16 1047 1.0.2 coverity fixup (uninitialized scalar)
// 2017-04-02 865 1.0.1 Dump(): add detail arg
// 2015-01-04 628 1.0 Initial version
// ---------------------------------------------------------------------------
@ -48,7 +49,8 @@ Rw11RdmaDisk::Rw11RdmaDisk(Rw11Cntl* pcntl, const precb_t& precb,
fpUnit(nullptr),
fNWord(0),
fNBlock(0),
fLba()
fLba(),
fFunc(kFuncRead)
{
fStats.Define(kStatNWritePadded, "NWritePadded" , "padded disk write");
fStats.Define(kStatNWChkFail, "NWChkFail" , "write check failed");

View File

@ -1,6 +1,6 @@
// $Id: Rw11VirtDiskFile.cpp 983 2018-01-02 20:35:59Z mueller $
// $Id: Rw11VirtDiskFile.cpp 1047 2018-09-16 11:08:41Z mueller $
//
// Copyright 2013-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
// Copyright 2013-2018 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
//
// This program is free software; you may redistribute and/or modify it under
// the terms of the GNU General Public License as published by the Free
@ -13,6 +13,7 @@
//
// Revision History:
// Date Rev Version Comment
// 2018-09-16 1047 1.1.3 coverity fixup (uninitialized scalar)
// 2017-04-15 875 1.1.2 Open(): add overload with scheme handling
// 2017-04-07 868 1.1.1 Dump(): add detail arg
// 2017-03-11 859 1.1 use fWProt
@ -49,7 +50,8 @@ namespace Retro {
Rw11VirtDiskFile::Rw11VirtDiskFile(Rw11Unit* punit)
: Rw11VirtDisk(punit),
fFd(0)
fFd(0),
fSize(0)
{}
//------------------------------------------+-----------------------------------

View File

@ -1,6 +1,6 @@
// $Id: RtclRw11Cpu.cpp 983 2018-01-02 20:35:59Z mueller $
// $Id: RtclRw11Cpu.cpp 1048 2018-09-22 07:41:46Z mueller $
//
// Copyright 2013-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
// Copyright 2013-2018 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
//
// This program is free software; you may redistribute and/or modify it under
// the terms of the GNU General Public License as published by the Free
@ -13,6 +13,7 @@
//
// Revision History:
// Date Rev Version Comment
// 2018-09-21 1048 1.2.18 coverity fixup (uninitialized scalar)
// 2017-04-22 883 1.2.17 M_(imap|rmap): -testname optional addr check
// 2017-04-15 876 1.2.16 add ControllerCommands()
// 2017-04-15 875 1.2.15 M_default: add attached units summary
@ -164,7 +165,7 @@ int RtclRw11Cpu::M_imap(RtclArgs& args)
if (!args.GetArg("name", name)) return kERR;
if (!args.GetArg("?addr", addr)) return kERR;
if (!args.AllDone()) return kERR;
uint16_t tstaddr;
uint16_t tstaddr=0;
bool found = addrmap.Find(name, tstaddr);
if (found && args.NOptMiss()==0) { // if specified addr
if (tstaddr != addr) found = false; // verify addr
@ -178,9 +179,9 @@ int RtclRw11Cpu::M_imap(RtclArgs& args)
args.SetResult(int(addrmap.Find(addr, tstname)));
} else if (opt == "-insert") { // imap -insert name addr
uint16_t tstaddr;
uint16_t tstaddr=0;
string tstname;
int tstint;
int tstint=0;
if (!args.GetArg("name", name)) return kERR;
// enforce that the name is not a valid representation of an int
if (Tcl_GetIntFromObj(nullptr, args[args.NDone()-1], &tstint) == kOK)
@ -212,7 +213,7 @@ int RtclRw11Cpu::M_imap(RtclArgs& args)
if (!args.OptValid()) return kERR;
if (!args.GetArg("?name", name)) return kERR;
if (args.NOptMiss()==0) { // imap name
uint16_t tstaddr;
uint16_t tstaddr=0;
if(addrmap.Find(name, tstaddr)) {
args.SetResult(int(tstaddr));
} else {
@ -267,7 +268,7 @@ int RtclRw11Cpu::M_rmap(RtclArgs& args)
if (!args.GetArg("name", name)) return kERR;
if (!args.GetArg("?addr", addr)) return kERR;
if (!args.AllDone()) return kERR;
uint16_t tstaddr;
uint16_t tstaddr=0;
bool found = lmap.Find(name, tstaddr);
if (found && args.NOptMiss()==0) { // if specified addr
if (tstaddr != addr) found = false; // verify addr
@ -281,9 +282,9 @@ int RtclRw11Cpu::M_rmap(RtclArgs& args)
args.SetResult(int(lmap.Find(addr, tstname)));
} else if (opt == "-insert") { // rmap -insert name addr
uint16_t tstaddr;
uint16_t tstaddr=0;
string tstname;
int tstint;
int tstint=0;
if (!args.GetArg("name", name)) return kERR;
// enforce that the name is not a valid representation of an int
if (Tcl_GetIntFromObj(nullptr, args[args.NDone()-1], &tstint) == kOK)
@ -315,7 +316,7 @@ int RtclRw11Cpu::M_rmap(RtclArgs& args)
if (!args.OptValid()) return kERR;
if (!args.GetArg("?name", name)) return kERR;
if (args.NOptMiss()==0) { // rmap name
uint16_t tstaddr;
uint16_t tstaddr=0;
if(lmap.Find(name, tstaddr)) {
args.SetResult(int(tstaddr));
} else if(cmap.Find(name, tstaddr)) {
@ -394,15 +395,15 @@ int RtclRw11Cpu::M_cp(RtclArgs& args)
}
if (opt == "-rreg") { // -rreg addr ?varData ?varStat ---
uint16_t addr;
uint16_t addr=0;
if (!GetRAddr(args, addr)) return kERR;
if (!GetVarName(args, "??varData", lsize, vardata)) return kERR;
if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR;
clist.AddRreg(addr);
} else if (opt == "-rblk") { // -rblk addr size ?varData ?varStat
uint16_t addr;
int32_t bsize;
uint16_t addr=0;
int32_t bsize=0;
if (!GetRAddr(args, addr)) return kERR;
if (!args.GetArg("bsize", bsize, 1, Connect().BlockSizeMax())) return kERR;
if (!GetVarName(args, "??varData", lsize, vardata)) return kERR;
@ -410,15 +411,15 @@ int RtclRw11Cpu::M_cp(RtclArgs& args)
clist.AddRblk(addr, (size_t) bsize);
} else if (opt == "-wreg") { // -wreg addr data ?varStat -------
uint16_t addr;
uint16_t data;
uint16_t addr=0;
uint16_t data=0;
if (!GetRAddr(args, addr)) return kERR;
if (!args.GetArg("data", data)) return kERR;
if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR;
clist.AddWreg(addr, data);
} else if (opt == "-wblk") { // -wblk addr block ?varStat ------
uint16_t addr;
uint16_t addr=0;
vector<uint16_t> block;
if (!GetRAddr(args, addr)) return kERR;
if (!args.GetArg("data", block, 1, Connect().BlockSizeMax())) return kERR;
@ -436,8 +437,8 @@ int RtclRw11Cpu::M_cp(RtclArgs& args)
clist.AddAttn();
} else if (opt == "-init") { // -init addr data ?varStat -------
uint16_t addr;
uint16_t data;
uint16_t addr=0;
uint16_t data=0;
if (!GetRAddr(args, addr)) return kERR;
if (!args.GetArg("data", data)) return kERR;
if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR;
@ -449,7 +450,7 @@ int RtclRw11Cpu::M_cp(RtclArgs& args)
clist.AddRreg(base + Rw11Cpu::kCPR0 + regnum);
} else if (opt == "-wr") { // -wr* data ?varStat ------------
uint16_t data;
uint16_t data=0;
if (!args.GetArg("data", data)) return kERR;
if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR;
clist.AddWreg(base + Rw11Cpu::kCPR0 + regnum, data);
@ -460,7 +461,7 @@ int RtclRw11Cpu::M_cp(RtclArgs& args)
clist.AddRreg(base + Rw11Cpu::kCPPSW);
} else if (opt == "-wps") { // -wps data ?varStat ------------
uint16_t data;
uint16_t data=0;
if (!args.GetArg("data", data)) return kERR;
if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR;
clist.AddWreg(base + Rw11Cpu::kCPPSW, data);
@ -476,19 +477,19 @@ int RtclRw11Cpu::M_cp(RtclArgs& args)
clist.AddRreg(base + Rw11Cpu::kCPAH);
} else if (opt == "-wal") { // -wal data ?varStat ------------
uint16_t ibaddr;
uint16_t ibaddr=0;
if (!GetIAddr(args, ibaddr)) return kERR;
if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR;
clist.AddWreg(base + Rw11Cpu::kCPAL, ibaddr);
} else if (opt == "-wah") { // -wah data ?varStat ------------
uint16_t data;
uint16_t data=0;
if (!args.GetArg("ah", data)) return kERR;
if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR;
clist.AddWreg(base + Rw11Cpu::kCPAH, data);
} else if (opt == "-wa") { // -wa addr ?varStat [-p22 -ubm]--
uint32_t addr;
uint32_t addr=0;
if (!args.GetArg("addr", addr, 017777776)) return kERR;
if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR;
uint16_t al = addr;
@ -515,7 +516,7 @@ int RtclRw11Cpu::M_cp(RtclArgs& args)
clist.AddRreg(base + addr);
} else if (opt == "-rma") { // -rma addr ?varData ?varStat ---
uint16_t ibaddr;
uint16_t ibaddr=0;
if (!GetIAddr(args, ibaddr)) return kERR;
// bind expects to memi access, which is second command
if (!GetVarName(args, "??varData", lsize+1, vardata)) return kERR;
@ -527,14 +528,14 @@ int RtclRw11Cpu::M_cp(RtclArgs& args)
opt == "-wmi") {
uint16_t addr = opt=="-wm" ? Rw11Cpu::kCPMEM :
Rw11Cpu::kCPMEMI;
uint16_t data;
uint16_t data=0;
if (!args.GetArg("data", data)) return kERR;
if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR;
clist.AddWreg(base + addr, data);
} else if (opt == "-wma") { // -wma addr data ?varStat -------
uint16_t ibaddr;
uint16_t data;
uint16_t ibaddr=0;
uint16_t data=0;
if (!GetIAddr(args, ibaddr)) return kERR;
if (!args.GetArg("data", data)) return kERR;
// bind expects to memi access, which is second command
@ -543,7 +544,7 @@ int RtclRw11Cpu::M_cp(RtclArgs& args)
clist.AddWreg(base + Rw11Cpu::kCPMEMI, data);
} else if (opt == "-brm") { // -brm size ?varData ?varStat ---
int32_t bsize;
int32_t bsize=0;
if (!args.GetArg("bsize", bsize, 1, Connect().BlockSizeMax())) return kERR;
if (!GetVarName(args, "??varData", lsize, vardata)) return kERR;
if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR;
@ -586,7 +587,7 @@ int RtclRw11Cpu::M_cp(RtclArgs& args)
setcpuact = true;
} else if (opt == "-stapc") { // -stapc addr ?varStat ----------
uint16_t data;
uint16_t data=0;
if (!args.GetArg("data", data)) return kERR;
if (!GetVarName(args, "??varStat", lsize+1, varstat)) return kERR;
clist.AddWreg(base + Rw11Cpu::kCPCNTL, Rw11Cpu::kCPFUNC_STOP);
@ -601,7 +602,7 @@ int RtclRw11Cpu::M_cp(RtclArgs& args)
clist.AddRreg(base + Rw11Cpu::kCPMEMBE);
} else if (opt == "-wmembe") { // -wmembe be ?varStat [-stick] -
uint16_t be;
uint16_t be=0;
bool stick = false;
if (!args.GetArg("be", be, 3)) return kERR;
if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR;
@ -617,15 +618,15 @@ int RtclRw11Cpu::M_cp(RtclArgs& args)
Obj().AddMembe(clist, be, stick);
} else if (opt == "-ribr") { // -ribr iba ?varData ?varStat ----
uint16_t ibaddr;
uint16_t ibaddr=0;
if (!GetIAddr(args, ibaddr)) return kERR;
if (!GetVarName(args, "??varData", lsize, vardata)) return kERR;
if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR;
Obj().AddRibr(clist, ibaddr);
} else if (opt == "-rbibr") { // -rbibr iba size ?varData ?varStat
uint16_t ibaddr;
int32_t bsize;
uint16_t ibaddr=0;
int32_t bsize=0;
if (!GetIAddr(args, ibaddr)) return kERR;
if (!args.GetArg("bsize", bsize, 1, Connect().BlockSizeMax())) return kERR;
if (!GetVarName(args, "??varData", lsize, vardata)) return kERR;
@ -633,15 +634,15 @@ int RtclRw11Cpu::M_cp(RtclArgs& args)
Obj().AddRbibr(clist, ibaddr, (size_t) bsize);
} else if (opt == "-wibr") { // -wibr iba data ?varStat --------
uint16_t ibaddr;
uint16_t data;
uint16_t ibaddr=0;
uint16_t data=0;
if (!GetIAddr(args, ibaddr)) return kERR;
if (!args.GetArg("data", data)) return kERR;
if (!GetVarName(args, "??varStat", lsize, varstat)) return kERR;
Obj().AddWibr(clist, ibaddr, data);
} else if (opt == "-wbibr") { // -wbibr iba block data ?varStat -
uint16_t ibaddr;
uint16_t ibaddr=0;
vector<uint16_t> block;
if (!GetIAddr(args, ibaddr)) return kERR;
if (!args.GetArg("data", block, 1, Connect().BlockSizeMax())) return kERR;
@ -858,7 +859,7 @@ int RtclRw11Cpu::M_wtcpu(RtclArgs& args)
int RtclRw11Cpu::M_deposit(RtclArgs& args)
{
uint16_t addr;
uint16_t addr=0;
vector<uint16_t> data;
if (!args.GetArg("addr", addr)) return kERR;
if (!args.GetArg("data", data, 1)) return kERR;
@ -876,7 +877,7 @@ int RtclRw11Cpu::M_deposit(RtclArgs& args)
int RtclRw11Cpu::M_examine(RtclArgs& args)
{
uint16_t addr;
uint16_t addr=0;
if (!args.GetArg("addr", addr)) return kERR;
if (!args.AllDone()) return kERR;
@ -895,7 +896,7 @@ int RtclRw11Cpu::M_examine(RtclArgs& args)
int RtclRw11Cpu::M_lsmem(RtclArgs& args)
{
uint16_t abeg;
uint16_t abeg=0;
if (!args.GetArg("abeg", abeg)) return kERR;
uint16_t aend = abeg;
if (!args.GetArg("?aend", aend, 0xffff, abeg)) return kERR;