From c7b49ffbbd5230603d0b8491d5fb62daec3137c6 Mon Sep 17 00:00:00 2001 From: Nickolai Zeldovich Date: Fri, 31 Jan 2003 21:11:21 +0000 Subject: [PATCH] STABLE12-better-assert-macro-20030113 Wrap our assert() macro in do{..}while(0) to make it look just like a real function. Fix instances of use of this macro that lacked a trailing semicolon of their own. (cherry picked from commit 3ba961ca00f5d8ec2edd32e0b1e5dac1c9864ef9) --- src/util/assert.h | 2 +- src/vol/vol-salvage.c | 46 +++++++++++++++++++++--------------------- src/volser/dumpstuff.c | 6 +++--- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/util/assert.h b/src/util/assert.h index ec0933d5f..a8c2555a2 100644 --- a/src/util/assert.h +++ b/src/util/assert.h @@ -12,4 +12,4 @@ void AssertionFailed(char *file, int line); -# define assert(ex) {if (!(ex)) AssertionFailed(__FILE__, __LINE__);} +#define assert(ex) do{if (!(ex)) AssertionFailed(__FILE__, __LINE__);}while(0) diff --git a/src/vol/vol-salvage.c b/src/vol/vol-salvage.c index 876b4d438..7027aa695 100644 --- a/src/vol/vol-salvage.c +++ b/src/vol/vol-salvage.c @@ -1797,8 +1797,8 @@ void DoSalvageVolumeGroup(register struct InodeSummary *isp, int nVols) allInodes = inodes - isp->index; /* this would the base of all the inodes for the partition, if all the inodes had been read into memory */ - assert(lseek(inodeFd,isp->index*sizeof(struct ViceInodeInfo),SEEK_SET) != -1) - assert(read(inodeFd,inodes,size) == size) + assert(lseek(inodeFd,isp->index*sizeof(struct ViceInodeInfo),SEEK_SET) != -1); + assert(read(inodeFd,inodes,size) == size); /* Don't try to salvage a read write volume if there isn't one on this partition */ @@ -2074,7 +2074,7 @@ int SalvageVolumeHeaderFile(register struct InodeSummary *isp, isp->volumeId, (Testing?"it would have been ":""), fileSysPathName, name); headerFd = open(name, O_RDWR|O_CREAT|O_TRUNC, 0644); - assert(headerFd != -1) + assert(headerFd != -1); isp->volSummary = (struct VolumeSummary *) malloc(sizeof(struct VolumeSummary)); isp->volSummary->fileName = ToString(name); @@ -2100,7 +2100,7 @@ int SalvageVolumeHeaderFile(register struct InodeSummary *isp, return -1; headerFd = open(name, O_RDWR|O_TRUNC, 0644); - assert(headerFd != -1) + assert(headerFd != -1); } } if (headerFd) { @@ -2307,14 +2307,14 @@ int SalvageIndex(Inode ino, VnodeClass class, int RW, fdP = IH_OPEN(handle); assert(fdP != NULL); file = FDH_FDOPEN(fdP, "r+"); - assert(file != NULL) + assert(file != NULL); vcp = &VnodeClassInfo[class]; size = OS_SIZE(fdP->fd_fd); assert(size != -1); nVnodes = (size / vcp->diskSize) - 1; if (nVnodes > 0) { - assert((nVnodes+1) * vcp->diskSize == size) - assert(STREAM_SEEK(file, vcp->diskSize, 0) == 0) + assert((nVnodes+1) * vcp->diskSize == size); + assert(STREAM_SEEK(file, vcp->diskSize, 0) == 0); } else { nVnodes = 0; @@ -2699,7 +2699,7 @@ void JudgeEntry(struct DirSummary *dir, char *name, VnodeId vnodeNumber, } if (!Testing) { CopyOnWrite(dir); - assert(Delete(&dir->dirHandle, name) == 0) + assert(Delete(&dir->dirHandle, name) == 0); } return; } @@ -2765,9 +2765,9 @@ void JudgeEntry(struct DirSummary *dir, char *name, VnodeId vnodeNumber, fid.Vnode = vnodeNumber; fid.Unique = vnodeEssence->unique; CopyOnWrite(dir); - assert(Delete(&dir->dirHandle, name) == 0) + assert(Delete(&dir->dirHandle, name) == 0); if (!todelete) - assert(Create(&dir->dirHandle, name, &fid) == 0) + assert(Create(&dir->dirHandle, name, &fid) == 0); } if (todelete) return; /* no need to continue */ } @@ -2779,10 +2779,10 @@ void JudgeEntry(struct DirSummary *dir, char *name, VnodeId vnodeNumber, dir->vnodeNumber, dir->unique, vnodeNumber, unique); if (!Testing) { CopyOnWrite(dir); - assert(Delete(&dir->dirHandle, ".") == 0) + assert(Delete(&dir->dirHandle, ".") == 0); fid.Vnode = dir->vnodeNumber; fid.Unique = dir->unique; - assert(Create(&dir->dirHandle, ".", &fid) == 0) + assert(Create(&dir->dirHandle, ".", &fid) == 0); } vnodeNumber = fid.Vnode; /* Get the new Essence */ @@ -2825,7 +2825,7 @@ void JudgeEntry(struct DirSummary *dir, char *name, VnodeId vnodeNumber, } if (!Testing) { CopyOnWrite(dir); - assert(Delete(&dir->dirHandle, name) == 0) + assert(Delete(&dir->dirHandle, name) == 0); } vnodeEssence->claimed = 0; /* Not claimed: Orphaned */ vnodeEssence->todelete = 1; /* Will later delete vnode and decr inode */ @@ -2931,20 +2931,20 @@ void DistilVnodeEssence(VolumeId rwVId, VnodeClass class, Inode ino, IH_INIT(vip->handle, fileSysDevice, rwVId, ino); fdP = IH_OPEN(vip->handle); - assert(fdP != NULL) + assert(fdP != NULL); file = FDH_FDOPEN(fdP, "r+"); assert(file != NULL); size = OS_SIZE(fdP->fd_fd); assert(size != -1); vip->nVnodes = (size / vcp->diskSize) - 1; if (vip->nVnodes > 0) { - assert((vip->nVnodes+1)*vcp->diskSize == size) - assert(STREAM_SEEK(file, vcp->diskSize, 0) == 0) + assert((vip->nVnodes+1)*vcp->diskSize == size); + assert(STREAM_SEEK(file, vcp->diskSize, 0) == 0); assert((vip->vnodes = (struct VnodeEssence *) - calloc(vip->nVnodes, sizeof(struct VnodeEssence))) != NULL) + calloc(vip->nVnodes, sizeof(struct VnodeEssence))) != NULL); if (class == vLarge) { assert((vip->inodes = (Inode *) - calloc(vip->nVnodes, sizeof (Inode))) != NULL) + calloc(vip->nVnodes, sizeof (Inode))) != NULL); } else { vip->inodes = NULL; @@ -2976,7 +2976,7 @@ void DistilVnodeEssence(VolumeId rwVId, VnodeClass class, Inode ino, vep->owner = vnode->owner; vep->group = vnode->group; if (vnode->type == vDirectory) { - assert(class == vLarge) + assert(class == vLarge); vip->inodes[vnodeIndex] = VNDISK_GET_INO(vnode); } } @@ -3380,7 +3380,7 @@ void ClearROInUseBit(struct VolumeSummary *summary) nBytes = IH_IREAD(h, 0, (char*)&volHeader, sizeof(volHeader)); assert(nBytes == sizeof(volHeader)); - assert(volHeader.stamp.magic == VOLUMEINFOMAGIC) + assert(volHeader.stamp.magic == VOLUMEINFOMAGIC); volHeader.inUse = 0; volHeader.needsSalvaged = 0; volHeader.inService = 1; @@ -3514,7 +3514,7 @@ int Fork(void) { assert(0); /* Fork is never executed in the NT code path */ #else f = fork(); - assert(f >= 0) + assert(f >= 0); #endif return f; } @@ -3538,7 +3538,7 @@ int Wait(char *prog) int status; int pid; pid = wait(&status); - assert(pid != -1) + assert(pid != -1); if (WCOREDUMP(status)) Log("\"%s\" core dumped!\n", prog); if (WIFSIGNALED(status) != 0 || WEXITSTATUS(status) != 0) @@ -3655,7 +3655,7 @@ char * ToString(char *s) { register char *p; p = (char *) malloc(strlen(s)+1); - assert(p != NULL) + assert(p != NULL); strcpy(p,s); return p; diff --git a/src/volser/dumpstuff.c b/src/volser/dumpstuff.c index 1d9755953..28e9626db 100644 --- a/src/volser/dumpstuff.c +++ b/src/volser/dumpstuff.c @@ -649,8 +649,8 @@ static int DumpVnodeIndex(register struct iod *iodp, Volume *vp, assert(size != -1); nVnodes = (size / vcp->diskSize) - 1; if (nVnodes > 0) { - assert((nVnodes+1)*vcp->diskSize == size) - assert(STREAM_SEEK(file, vcp->diskSize, 0) == 0) + assert((nVnodes+1)*vcp->diskSize == size); + assert(STREAM_SEEK(file, vcp->diskSize, 0) == 0); } else nVnodes = 0; for (vnodeIndex = 0; nVnodes && STREAM_READ(vnode, vcp->diskSize, 1, file) == 1 && !code; @@ -780,7 +780,7 @@ int ProcessIndex(Volume *vp, VnodeClass class, afs_int32 **Bufp, int *sizep, OS_SYNC(afile->str_fd); } else { size = OS_SIZE(fdP->fd_fd); - assert(size != -1) + assert(size != -1); nVnodes = (size <= vcp->diskSize ? 0 : size-vcp->diskSize) >> vcp->logSize; if (nVnodes > 0) { -- 2.39.5