Go to the source code of this file.
◆ __PR() [1/2]
◆ __PR() [2/2]
◆ assign_inodes()
Definition at line 113 of file inode.c.
115{
118
119 while (dpnt) {
121 for (s_entry = dpnt->
contents; s_entry; s_entry = s_entry->
next) {
124
125 if (s_hash)
127 }
130
133 _(
"Implementation botch, fetching extend %d for %s from dir entry.\n"),
135 }
136 }
139
140
141
142
143
144 if (s_entry->
size != 0)
145 continue;
146#ifdef UDF
149 continue;
150#else
152 continue;
153#endif
154
156 continue;
157
158
159
160
164 }
166 if (s_hash) {
167
168
169
172 _(
"Implementation botch: Hashed file '%s' has illegal inode %u.\n"),
178 } else {
182 }
185 }
188 }
189
191 }
192}
void add_hash(struct hash_table *table, unsigned char *name, int len, unsigned char *pointer)
EXPORT void comerrno(int err, char *msg, va_alist)
EXPORT int errmsgno(int err, char *msg, va_alist)
LOCAL void assign_inodes(struct directory *dpnt)
LOCAL void update_inode(struct directory_entry *s_entry, int value)
EXPORT UInt32_t get_733(void *vp)
EXPORT void set_733(void *vp, UInt32_t i)
unsigned int starting_block
struct directory_entry * next
struct iso_directory_record isorec
struct directory * subdir
struct directory_entry * contents
unsigned int starting_block
Referenced by assign_inodes(), and do_inode().
◆ assign_linkcount()
Definition at line 284 of file inode.c.
286{
289
290 while (dpnt) {
292 for (s_entry = dpnt->
contents; s_entry; s_entry = s_entry->
next) {
294 continue;
296 continue;
297
298
299
301 continue;
302
304 if (s_hash) {
306 } else {
309 continue;
310 }
312 _(
"Implementation botch: File '%s' not hashed.\n"),
315 }
316 }
319 }
320
322 }
323}
LOCAL void update_nlink(struct directory_entry *s_entry, int value)
LOCAL void assign_linkcount(struct directory *dpnt)
#define RELOCATED_DIRECTORY
Referenced by assign_linkcount(), and do_inode().
◆ compute_linkcount()
Definition at line 198 of file inode.c.
200{
203
204 while (dpnt) {
206 for (s_entry = dpnt->
contents; s_entry; s_entry = s_entry->
next) {
207
208
209
211 continue;
213 continue;
214
215
216
217
218
220 continue;
221
222
223
224
225
226
229
230
231
232
233
234#ifdef UDF
237#else
239#endif
241 } else {
245 _(
"Implementation botch: Unhashed file '%s'.\n"),
248 }
249 }
251 if (s_hash) {
253 } else {
256 if (s_hash ==
NULL) {
259 continue;
260 }
262 _(
"Implementation botch: File '%s' not hashed (dev/ino %llX/%llX).\n"),
267 }
269 }
270 }
273 }
274
276 }
277}
LOCAL void compute_linkcount(struct directory *dpnt)
Referenced by compute_linkcount(), and do_inode().
◆ do_dir_nlink()
Definition at line 85 of file inode.c.
87{
88 int rootlinks;
89
91 return;
92
93
94
95
98 rootlinks--;
99
100
101
103
104
105
107}
LOCAL int update_dir_nlink(struct directory *dpnt)
struct directory * reloc_dir
Referenced by dirtree_fixup().
◆ do_inode()
Definition at line 55 of file inode.c.
57{
59
62
63#ifdef UDF
65 return;
66#else
68 return;
69#endif
71 return;
72
76
78 comerrno(
EX_BAD,
_(
"Inode number overflow, too many files in file system.\n"));
79}
LOCAL UInt32_t null_ino_high
Referenced by file_gen(), and read_bitmaps().
◆ update_dir_nlink()
Definition at line 405 of file inode.c.
407{
411
412 while (dpnt) {
415 continue;
416 }
417
418
419
420 for (
i = 0, xpnt = dpnt->
subdir; xpnt; xpnt = xpnt->
next)
423
424
425
426
427
428
429
430 for (s_entry = dpnt->
contents; s_entry;
431 s_entry = s_entry->
next) {
434 0) {
436 }
437 }
438
439
440
442
443
444
445
447
448
449
450
451 for (xpnt = dpnt->
subdir; xpnt; xpnt = xpnt->
next) {
453 }
454
458 }
460}
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define INHIBIT_ISO9660_ENTRY
struct directory_entry * self
Referenced by do_dir_nlink(), and update_dir_nlink().
◆ update_inode()
Definition at line 329 of file inode.c.
332{
333 unsigned char *pnt;
335
337 return;
338
343 if (pnt[3] != 1 && pnt[3] != 2) {
345 _(
"**BAD RRVERSION (%d) in '%c%c' field (%2.2X %2.2X).\n"),
346 pnt[3], pnt[0], pnt[1], pnt[0], pnt[1]);
347 }
348 if (pnt[2] < 4) {
350 _(
"**BAD RRLEN (%d) in '%2.2s' field %2.2X %2.2X.\n"),
351 pnt[2], pnt, pnt[0], pnt[1]);
352 break;
353 }
354 if (pnt[0] == 'P' && pnt[1] == 'X') {
355 if ((pnt[2] & 0xFF) < 44)
356 return;
358 break;
359 }
361 pnt += pnt[2];
362 }
363}
unsigned char * parse_xa(unsigned char *pnt, int *lenp, struct directory_entry *dpnt)
unsigned char * rr_attributes
unsigned int total_rr_attr_size
Referenced by assign_inodes().
◆ update_nlink()
Definition at line 369 of file inode.c.
372{
373 unsigned char *pnt;
375
380 if (pnt[3] != 1 && pnt[3] != 2) {
382 _(
"**BAD RRVERSION (%d) in '%c%c' field (%2.2X %2.2X).\n"),
383 pnt[3], pnt[0], pnt[1], pnt[0], pnt[1]);
384 }
385 if (pnt[2] < 4) {
387 _(
"**BAD RRLEN (%d) in '%2.2s' field %2.2X %2.2X.\n"),
388 pnt[2], pnt, pnt[0], pnt[1]);
389 break;
390 }
391 if (pnt[0] == 'P' && pnt[1] == 'X') {
393 break;
394 }
396 pnt += pnt[2];
397 }
398}
Referenced by assign_linkcount(), do_dir_nlink(), and update_dir_nlink().
◆ null_ino_high
LOCAL UInt32_t null_ino_high |
◆ sccsid
Initial value:=
"@(#)inode.c 1.19 16/11/14 Copyright 2006-2015 J. Schilling"
Definition at line 4 of file inode.c.