FreeBSD/contrib/subversion/subversion/libsvn_fs_x/lock.c
/* Unlock the lock described by LOCK->path and LOCK->token in FS.

   This assumes that the write lock is held.
 */
Unlock the lock described by LOCK->path and LOCK->token in FS.
This assumes that the write lock is held.
Unlock the lock described by LOCK - > path and LOCK - > token in FS . This assumes that the write lock is held .
static svn_error_t *
unlock_single(svn_fs_t *fs,
              svn_lock_t *lock,
              apr_pool_t *scratch_pool)
{
  unlock_baton_t ub;
  svn_sort__item_t item;
  apr_array_header_t *targets = apr_array_make(scratch_pool, 1,
                                               sizeof(svn_sort__item_t));
  item.key = lock->path;
  item.klen = strlen(item.key);
  item.value = (char*)lock->token;
  APR_ARRAY_PUSH(targets, svn_sort__item_t) = item;
  ub.fs = fs;
  ub.targets = targets;
  ub.skip_check = TRUE;
  ub.result_pool = scratch_pool;
  SVN_ERR(unlock_body(&ub, scratch_pool));
  return SVN_NO_ERROR;
}
static svn_error_t * unlock_single ( svn_fs_t * fs , svn_lock_t * lock , apr_pool_t * scratch_pool ) { unlock_baton_t ub ; svn_sort__item_t item ; apr_array_header_t * targets = apr_array_make ( scratch_pool , 1 , sizeof ( svn_sort__item_t ) ) ; item . key = lock -> path ; item . klen = strlen ( item . key ) ; item . value = ( char * ) lock -> token ; APR_ARRAY_PUSH ( targets , svn_sort__item_t ) = item ; ub . fs = fs ; ub . targets = targets ; ub . skip_check = TRUE ; ub . result_pool = scratch_pool ; SVN_ERR ( unlock_body ( & ub , scratch_pool ) ) ; return SVN_NO_ERROR ; }
Unlock the lock described by LOCK->path and LOCK->token in FS.
Unlock the lock described by LOCK - > path and LOCK - > token in FS .
/* No ub.infos[].fs_err error because skip_check is TRUE. */