Format %z unknown to vxWorks

Bug #1983472 reported by Dirk Zimoch
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
EPICS Base
New
Undecided
Unassigned

Bug Description

VxWorks even in version 6.9 does not know the printf format specifier %z. It will instead print a literal z (and shift all arguments to the next format of course).

This is related to bug #1740426 but not exactly the same.

Affected code in EPICS 7 (as found by grep %z):

modules/pvData/src/factory/FieldCreateFactory.cpp: sprintf(buffer, "%s<%zu>", ScalarTypeFunc::name(getElementType()), size);
modules/pvData/src/factory/FieldCreateFactory.cpp: sprintf(buffer, "%s[%zu]", ScalarTypeFunc::name(getElementType()), size);
modules/pvData/testApp/pv/testPVData.cpp:#define SHOW(T) testDiag("sizeof(" #T ")==%zu", sizeof(T))
modules/pvData/testApp/pv/performstruct.cpp: printf("# %zu sample %f +- %f %s\n", count, mean/mult, std/mult, unit);
modules/pvData/testApp/pv/performstruct.cpp: sprintf(buf, "field%zu", i);
modules/pvAccess/pvtoolsSrc/pvlist.cpp: "Broadcast address #%zu: %s.", i, inetAddressToString(broadcastAddresses[i]).c_str());
modules/pvAccess/pvtoolsSrc/pvlist.cpp: LOG(logLevelDebug, "UDP Tx (%zu) -> %s", sendBuffer.getPosition(), strBuffer);
modules/pvAccess/src/remote/blockingUDPTransport.cpp: LOG(logLevelDebug, "UDP Tx (%zu) %s -> %s.",
modules/pvAccess/src/remote/blockingUDPTransport.cpp: LOG(logLevelDebug, "Sending %zu bytes %s -> %s.",
modules/pvAccess/src/remote/blockingUDPTransport.cpp: LOG(logLevelDebug, "Sending %zu bytes %s -> %s.",
modules/pvAccess/src/remote/blockingUDPTransport.cpp: "Broadcast address #%zu: %s. (%sunicast)", i, inetAddressToString(list[i]).c_str(),
modules/pvAccess/src/remote/transportRegistry.cpp: LOG(logLevelDebug, "Context still has %zu transport(s) active and closing...", temp.size());
modules/pvAccess/src/remote/codec.cpp: "Transport to %s still has %zu channel(s) active and closing...",
modules/pvAccess/src/remote/codec.cpp: "Transport to %s still has %zu client(s) active and closing...",
modules/pvAccess/src/server/responseHandlers.cpp: LOG(logLevelError, "Monitor Logic Error: send outside of window %zu", _window_closed.size());
modules/pvAccess/src/ioc/reftrackioc.cpp: printf(" %s : %zu (delta %zd)\n",
modules/pvAccess/src/ioc/reftrackioc.cpp: printf(" %s : %zu\n", it->first.c_str(), it->second.current);
modules/pvAccess/testApp/remote/testmonitorfifo.cpp: testDiag("Spamming %zu", nfree);
modules/pvAccess/testApp/remote/testmonitorfifo.cpp: testDiag("nfree=%zu %c", nfree, (nfree>0)?'T':'F');
modules/pvAccess/testApp/remote/testmonitorfifo.cpp: testDiag("Spamming %zu", nfree);
modules/pvAccess/testApp/remote/testmonitorfifo.cpp: testDiag("Count %d nfree=%zu %c", c, nfree, (nfree>0)?'T':'F');
modules/pvAccess/testApp/remote/testChannelConnect.cpp: sprintf(buf, "test%zu", (i+1));
modules/pva2pva/pdbApp/pdbgroup.cpp: printf(" Atomic Get/Put:%s Monitor:%s Members:%zu\n",
modules/pva2pva/pdbApp/pvalink_jlif.cpp: printf(" #disconn=%zu prov=%s", pval->lchan->num_disconnect, pval->lchan->providerName.c_str());
modules/pva2pva/pdbApp/pvalink.cpp: fprintf(stderr, "pvaLink leaves %zu channels open\n",
modules/pva2pva/pdbApp/pvalink.cpp: printf("conn=%c %zu disconnects, %zu type changes",
modules/pva2pva/pdbApp/pvalink.cpp: printf(" %zu/%zu channels connected used by %zu links\n",
modules/pva2pva/testApp/testpdb.cpp: testDiag("Cnt %s = %zu (%ld)", it->first.c_str(), it->second.current, it->second.delta);
modules/pva2pva/testApp/testpdb.cpp: testDiag("Cnt %s = %zu (%ld)", it->first.c_str(), it->second.current, it->second.delta);
modules/libcom/test/epicsErrlogTest.c: testOk(pvt.count >= N && pvt.count<=N+2, "Logged %u messages, expected %zu", pvt.count, N+1);
modules/libcom/test/yajl_test.c: fprintf(stderr, "%zu is an invalid buffer size\n",
modules/libcom/test/yajl_test.c: "failed to allocate read buffer of %zu bytes, exiting.",

description: updated
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.