Lines Matching refs:fp

132 	Arfile_t *fp;
136 fp = (Arfile_t*)dtmatch(dp,(void*)name);
137 if(!fp)
140 if(!(fp = newof(0,Arfile_t,1,len)))
142 fp->st.name = (char*)(fp+1);
143 memcpy((char*)fp->st.name,name,len);
144 if(!strrchr(fp->st.name,'.'))
146 fp->st.name[len-5] = '.';
147 fp->st.name[len-4] = 0;
149 fp->suffix[0] = 'o';
150 fp->suffix[1] = 0;
151 fp->st.mtime = ar->st.st_mtime;
152 fp->st.mode = ar->st.st_mode&(S_IRWXU|S_IRWXG|S_IRWXO);
153 fp->st.uid = ar->st.st_uid;
154 fp->st.gid = ar->st.st_gid;
155 dtinsert(dp,fp);
157 return(fp);
172 Arfile_t *fp;
173 for(fp=(Arfile_t*)dtfirst(dp); fp; fp = (Arfile_t*)dtnext(dp,fp))
175 if(fp->flags && fp->toffset>0 && lseek(ar->fd,(off_t)fp->toffset,SEEK_SET)>0)
177 write(ar->fd,(void*)&fp->st.mtime,sizeof(time_t));
208 Arfile_t *fp;
232 if(!(fp = ar_getnode(ar,(char*)base+len)))
234 fp->st.mtime = (time_t)ip[1];
235 fp->st.mode = (mode_t)ip[2];
236 fp->st.uid = (uid_t)ip[3];
237 fp->st.gid = (gid_t)ip[4];
238 memcpy(fp->suffix,&ip[5],sizeof(fp->suffix));
239 fp->toffset = ((char*)&ip[1])-(char*)(sp->addr);
240 fp->toffset += displacement(tp,((unsigned char*)&ip[1])-base);
242 fp->alias = (char*)base+ip[6];
263 Arfile_t *fp;
305 if(!(fp = ar_getnode(ar,name)))
307 fp->st.offset = begin-addrstart;
308 fp->st.size = addr+n-begin;
367 Arfile_t *fp;
375 if(!(fp = ap->next))
377 if(*fp->suffix)
379 char *last = strrchr(fp->st.name,'.');
383 last = fp->st.name+strlen(fp->st.name);
384 memcpy((void*)last,(void*)fp->suffix,sizeof(fp->suffix));
386 if(!(ar->flags&ARDIR_FORCE) && fp->alias)
387 fp->st.name = fp->alias;
388 return(&fp->st);
404 Arfile_t *fp;
422 fp = (Arfile_t*)dtmatch(dp,(void*)fname);
423 if(ret<0 && !((op&ARDIR_DELETE) && fp))
425 if(fp)
429 dtdelete(dp,(Void_t*)fp);
432 if(fp->st.mtime>= statb.st_mtime && (op&ARDIR_NEWER))
440 if(!(fp = (Arfile_t*)ar_getnode(ar,fname)))
443 fp->st.mode = statb.st_mode&(S_IRWXU|S_IRWXG|S_IRWXO);
444 fp->st.uid = statb.st_uid;
445 fp->st.gid = statb.st_gid;
446 fp->st.mtime = statb.st_mtime;
447 fp->st.size = (size_t)statb.st_size;
448 fp->st.offset = ++ar->st.st_size;
450 fp->alias = (char*)name;
452 memcpy(fp->suffix,suffix,sizeof(fp->suffix));
469 Arfile_t *fp = (Arfile_t*)ent;
470 fp->flags = 1;