Advertisement
Guest User

Snippet from path resolution code

a guest
Mar 5th, 2015
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.82 KB | None | 0 0
  1. /* Element is a normal path element */
  2.    
  3.             /* Isolate it */
  4.             strncpy(path_element, remaining_path, element_size);
  5.             path_element[element_size] = '\0';
  6.  
  7.             /* Find the directory entry for it */
  8.             status = vfs_find_dirent(parent, path_element, &dirent);
  9.  
  10.             /* Check an error occurred */
  11.             if (status) {
  12.  
  13.                 /* If not, clean up and return */
  14.                 heapmm_free(path_element,
  15.                         CONFIG_FILE_MAX_NAME_LENGTH);
  16.  
  17.                 /* Release parent dirc */
  18.                 /* ?!?!? status = ?!?!?! */vfs_dir_cache_release(dirc);
  19.  
  20.                 THROW(status, NULL);
  21.             }
  22.            
  23.             /* Create new dirc entry for this element */
  24.             newc = vfs_dir_cache_new(dirc, dirent->inode_id);
  25.  
  26.             assert(newc != NULL);
  27.  
  28.             /* Release old element */
  29.             vfs_dir_cache_release(dirc);
  30.  
  31.             /* Update current element */
  32.             dirc = newc;       
  33.             parent = dirc->inode;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement