"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "libisofs/tree.c" between
xorriso-1.5.2.tar.gz and xorriso-1.5.4.tar.gz

About: GNU xorriso creates, loads, manipulates and writes ISO 9660 filesystem images with Rock Ridge extensions. It is suitable for incremental data backup and for production of bootable ISO 9660 images. GNU xorriso is a statical compilation of the libraries libburn, libisofs, libisoburn, and libjte.

tree.c  (xorriso-1.5.2):tree.c  (xorriso-1.5.4)
skipping to change at line 45 skipping to change at line 45
/** /**
* Add a new directory to the iso tree. * Add a new directory to the iso tree.
* *
* @param parent * @param parent
* the dir where the new directory will be created * the dir where the new directory will be created
* @param name * @param name
* name for the new dir. If a node with same name already exists on * name for the new dir. If a node with same name already exists on
* parent, this functions fails with ISO_NODE_NAME_NOT_UNIQUE. * parent, this functions fails with ISO_NODE_NAME_NOT_UNIQUE.
* @param dir * @param dir
* place where to store a pointer to the newly created dir. No extra * place where to store a pointer to the newly created dir. No extra
* ref is addded, so you will need to call iso_node_ref() if you really * ref is added, so you will need to call iso_node_ref() if you really
* need it. You can pass NULL in this parameter if you don't need the * need it. You can pass NULL in this parameter if you don't need the
* pointer. * pointer.
* @return * @return
* number of nodes in dir if succes, < 0 otherwise * number of nodes in dir if success, < 0 otherwise
* Possible errors: * Possible errors:
* ISO_NULL_POINTER, if parent or name are NULL * ISO_NULL_POINTER, if parent or name are NULL
* ISO_NODE_NAME_NOT_UNIQUE, a node with same name already exists * ISO_NODE_NAME_NOT_UNIQUE, a node with same name already exists
*/ */
int iso_tree_add_new_dir(IsoDir *parent, const char *name, IsoDir **dir) int iso_tree_add_new_dir(IsoDir *parent, const char *name, IsoDir **dir)
{ {
int ret; int ret;
char *n; char *n;
IsoDir *node; IsoDir *node;
IsoNode **pos; IsoNode **pos;
skipping to change at line 129 skipping to change at line 129
* *
* @param parent * @param parent
* the dir where the new symlink will be created * the dir where the new symlink will be created
* @param name * @param name
* name for the new dir. If a node with same name already exists on * name for the new dir. If a node with same name already exists on
* parent, this functions fails with ISO_NODE_NAME_NOT_UNIQUE. * parent, this functions fails with ISO_NODE_NAME_NOT_UNIQUE.
* @param dest * @param dest
* destination of the link * destination of the link
* @param link * @param link
* place where to store a pointer to the newly created link. No extra * place where to store a pointer to the newly created link. No extra
* ref is addded, so you will need to call iso_node_ref() if you really * ref is added, so you will need to call iso_node_ref() if you really
* need it. You can pass NULL in this parameter if you don't need the * need it. You can pass NULL in this parameter if you don't need the
* pointer * pointer
* @return * @return
* number of nodes in parent if success, < 0 otherwise * number of nodes in parent if success, < 0 otherwise
* Possible errors: * Possible errors:
* ISO_NULL_POINTER, if parent, name or dest are NULL * ISO_NULL_POINTER, if parent, name or dest are NULL
* ISO_NODE_NAME_NOT_UNIQUE, a node with same name already exists * ISO_NODE_NAME_NOT_UNIQUE, a node with same name already exists
* ISO_OUT_OF_MEM * ISO_OUT_OF_MEM
*/ */
int iso_tree_add_new_symlink(IsoDir *parent, const char *name, int iso_tree_add_new_symlink(IsoDir *parent, const char *name,
skipping to change at line 208 skipping to change at line 208
if (ret < 0) if (ret < 0)
return ret; return ret;
ret = iso_tree_add_new_symlink(parent, namept, dest, link); ret = iso_tree_add_new_symlink(parent, namept, dest, link);
return ret; return ret;
} }
/** /**
* Add a new special file to the directory tree. As far as libisofs concerns, * Add a new special file to the directory tree. As far as libisofs concerns,
* an special file is a block device, a character device, a FIFO (named pipe) * an special file is a block device, a character device, a FIFO (named pipe)
* or a socket. You can choose the specific kind of file you want to add * or a socket. You can choose the specific kind of file you want to add
* by setting mode propertly (see man 2 stat). * by setting mode properly (see man 2 stat).
* *
* Note that special files are only written to image when Rock Ridge * Note that special files are only written to image when Rock Ridge
* extensions are enabled. Moreover, a special file is just a directory entry * extensions are enabled. Moreover, a special file is just a directory entry
* in the image tree, no data is written beyond that. * in the image tree, no data is written beyond that.
* *
* Owner and hidden atts are taken from parent. You can modify any of them * Owner and hidden atts are taken from parent. You can modify any of them
* later. * later.
* *
* @param parent * @param parent
* the dir where the new special file will be created * the dir where the new special file will be created
skipping to change at line 231 skipping to change at line 231
* on parent, this functions fails with ISO_NODE_NAME_NOT_UNIQUE. * on parent, this functions fails with ISO_NODE_NAME_NOT_UNIQUE.
* @param mode * @param mode
* file type and permissions for the new node. Note that you can't * file type and permissions for the new node. Note that you can't
* specify any kind of file here, only special types are allowed. i.e, * specify any kind of file here, only special types are allowed. i.e,
* S_IFSOCK, S_IFBLK, S_IFCHR and S_IFIFO are valid types; S_IFLNK, * S_IFSOCK, S_IFBLK, S_IFCHR and S_IFIFO are valid types; S_IFLNK,
* S_IFREG and S_IFDIR aren't. * S_IFREG and S_IFDIR aren't.
* @param dev * @param dev
* device ID, equivalent to the st_rdev field in man 2 stat. * device ID, equivalent to the st_rdev field in man 2 stat.
* @param special * @param special
* place where to store a pointer to the newly created special file. No * place where to store a pointer to the newly created special file. No
* extra ref is addded, so you will need to call iso_node_ref() if you * extra ref is added, so you will need to call iso_node_ref() if you
* really need it. You can pass NULL in this parameter if you don't need * really need it. You can pass NULL in this parameter if you don't need
* the pointer. * the pointer.
* @return * @return
* number of nodes in parent if success, < 0 otherwise * number of nodes in parent if success, < 0 otherwise
* Possible errors: * Possible errors:
* ISO_NULL_POINTER, if parent, name or dest are NULL * ISO_NULL_POINTER, if parent, name or dest are NULL
* ISO_NODE_NAME_NOT_UNIQUE, a node with same name already exists * ISO_NODE_NAME_NOT_UNIQUE, a node with same name already exists
* ISO_OUT_OF_MEM * ISO_OUT_OF_MEM
* *
*/ */
skipping to change at line 321 skipping to change at line 321
* *
* @param parent * @param parent
* the dir where the new file will be created * the dir where the new file will be created
* @param name * @param name
* name for the new file. If a node with same name already exists on * name for the new file. If a node with same name already exists on
* parent, this functions fails with ISO_NODE_NAME_NOT_UNIQUE. * parent, this functions fails with ISO_NODE_NAME_NOT_UNIQUE.
* @param stream * @param stream
* IsoStream for the contents of the file * IsoStream for the contents of the file
* @param file * @param file
* place where to store a pointer to the newly created file. No extra * place where to store a pointer to the newly created file. No extra
* ref is addded, so you will need to call iso_node_ref() if you really * ref is added, so you will need to call iso_node_ref() if you really
* need it. You can pass NULL in this parameter if you don't need the * need it. You can pass NULL in this parameter if you don't need the
* pointer * pointer
* @return * @return
* number of nodes in parent if success, < 0 otherwise * number of nodes in parent if success, < 0 otherwise
* Possible errors: * Possible errors:
* ISO_NULL_POINTER, if parent, name or dest are NULL * ISO_NULL_POINTER, if parent, name or dest are NULL
* ISO_NODE_NAME_NOT_UNIQUE, a node with same name already exists * ISO_NODE_NAME_NOT_UNIQUE, a node with same name already exists
* ISO_OUT_OF_MEM * ISO_OUT_OF_MEM
* *
* @since 0.6.4 * @since 0.6.4
skipping to change at line 770 skipping to change at line 770
int i; int i;
for (i = 0; i < image->nexcludes; ++i) { for (i = 0; i < image->nexcludes; ++i) {
char *exclude = image->excludes[i]; char *exclude = image->excludes[i];
if (exclude[0] == '/') { if (exclude[0] == '/') {
/* absolute exclude, must completely match path */ /* absolute exclude, must completely match path */
if (!fnmatch(exclude, path, FNM_PERIOD|FNM_PATHNAME)) { if (!fnmatch(exclude, path, FNM_PERIOD|FNM_PATHNAME)) {
return 1; return 1;
} }
} else { } else {
/* relative exclude, it is enought if a part of the path matches */ /* relative exclude, it is enough if a part of the path matches */
char *pos = (char*)path; char *pos = (char*)path;
while (pos != NULL) { while (pos != NULL) {
pos++; pos++;
if (!fnmatch(exclude, pos, FNM_PERIOD|FNM_PATHNAME)) { if (!fnmatch(exclude, pos, FNM_PERIOD|FNM_PATHNAME)) {
return 1; return 1;
} }
pos = strchr(pos, '/'); pos = strchr(pos, '/');
} }
} }
} }
 End of changes. 7 change blocks. 
7 lines changed or deleted 7 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)