MCPcopy Create free account
hub / github.com/davidgiven/fluxengine / adfReadGenBlock

Function adfReadGenBlock

dep/adflib/src/adf_salv.c:117–150  ·  view source on GitHub ↗

* adfReadGenBlock * */

Source from the content-addressed store, hash-verified

115 *
116 */
117RETCODE adfReadGenBlock(struct Volume *vol, SECTNUM nSect, struct GenBlock *block)
118{
119 uint8_t buf[LOGICAL_BLOCK_SIZE];
120 int len;
121 char name[MAXNAMELEN+1];
122
123 if (adfReadBlock(vol, nSect, buf)!=RC_OK)
124 return RC_ERROR;
125
126 block->type =(int) swapLong(buf);
127 block->secType =(int) swapLong(buf+vol->blockSize-4);
128 block->sect = nSect;
129 block->name = NULL;
130
131 if (block->type==T_HEADER) {
132 switch(block->secType) {
133 case ST_FILE:
134 case ST_DIR:
135 case ST_LFILE:
136 case ST_LDIR:
137 len = min(MAXNAMELEN, buf[vol->blockSize-80]);
138 strncpy(name, (char*)buf+vol->blockSize-79, len);
139 name[len] = '\0';
140 block->name = strdup(name);
141 block->parent = swapLong(buf+vol->blockSize-12);
142 break;
143 case ST_ROOT:
144 break;
145 default:
146 ;
147 }
148 }
149 return RC_OK;
150}
151
152
153/*

Callers 2

adfGetDelEntFunction · 0.85
adfCheckParentFunction · 0.85

Calls 1

adfReadBlockFunction · 0.85

Tested by

no test coverage detected