⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 swigutil_py.c

📁 subversion-1.4.3-1.tar.gz 配置svn的源码
💻 C
📖 第 1 页 / 共 4 页
字号:
                                             apr_array_header_t *commit_items,                                             void *baton,                                             apr_pool_t *pool){  PyObject *function = baton;  PyObject *result;  PyObject *cmt_items;  svn_error_t *err;  *log_msg = NULL;  *tmp_file = NULL;  /* ### todo: for now, just ignore the whole tmp_file thing.  */  if ((function == NULL) || (function == Py_None))    return SVN_NO_ERROR;  svn_swig_py_acquire_py_lock();  if (commit_items)    {      cmt_items = commit_item_array_to_list(commit_items);    }  else    {      cmt_items = Py_None;      Py_INCREF(Py_None);    }  if ((result = PyObject_CallFunction(function,                                       (char *)"OO&",                                      cmt_items,                                      make_ob_pool, pool)) == NULL)    {      Py_DECREF(cmt_items);      err = callback_exception_error();      goto finished;    }  Py_DECREF(cmt_items);  if (result == Py_None)    {      Py_DECREF(result);      *log_msg = NULL;      err = SVN_NO_ERROR;    }  else if (PyString_Check(result))     {      *log_msg = apr_pstrdup(pool, PyString_AS_STRING(result));      Py_DECREF(result);      err = SVN_NO_ERROR;    }  else    {      Py_DECREF(result);      err = callback_bad_return_error("Not a string");    } finished:  svn_swig_py_release_py_lock();  return err;}svn_error_t *svn_swig_py_repos_authz_func(svn_boolean_t *allowed,                                          svn_fs_root_t *root,                                          const char *path,                                          void *baton,                                          apr_pool_t *pool){  PyObject *function = baton;  PyObject *result;  PyObject *py_pool, *py_root;  svn_error_t *err = SVN_NO_ERROR;  *allowed = TRUE;  if (function == NULL || function == Py_None)    return SVN_NO_ERROR;  svn_swig_py_acquire_py_lock();    py_pool = make_ob_pool(pool);  if (py_pool == NULL) {    err = callback_exception_error();    goto finished;  }  py_root = make_ob_fs_root(root, py_pool);  if (py_root == NULL) {    Py_DECREF(py_pool);    err = callback_exception_error();    goto finished;   }  if ((result = PyObject_CallFunction(function,                                       (char *)"OsO",                                       py_root, path, py_pool)) == NULL)    {      err = callback_exception_error();    }  else    {      if (PyInt_Check(result))        *allowed = PyInt_AsLong(result);      else if (PyLong_Check(result))        *allowed = PyLong_AsLong(result);      else        err = callback_bad_return_error("Not an integer");      Py_DECREF(result);    }  Py_DECREF(py_root);  Py_DECREF(py_pool);finished:  svn_swig_py_release_py_lock();  return err;}svn_error_t *svn_swig_py_repos_history_func(void *baton,                                            const char *path,                                            svn_revnum_t revision,                                            apr_pool_t *pool){  PyObject *function = baton;  PyObject *result;  svn_error_t *err = SVN_NO_ERROR;  if (function == NULL || function == Py_None)    return SVN_NO_ERROR;  svn_swig_py_acquire_py_lock();  if ((result = PyObject_CallFunction(function,                                       (char *)"slO&",                                       path, revision,                                       make_ob_pool, pool)) == NULL)    {      err = callback_exception_error();    }  else    {      if (result != Py_None)        err = callback_bad_return_error("Not None");      Py_DECREF(result);    }  svn_swig_py_release_py_lock();  return err;}svn_error_t *svn_swig_py_log_receiver(void *baton,                                      apr_hash_t *changed_paths,                                      svn_revnum_t rev,                                      const char *author,                                      const char *date,                                      const char *msg,                                      apr_pool_t *pool){  PyObject *receiver = baton;  PyObject *result, *py_pool;  PyObject *chpaths;  svn_error_t *err = SVN_NO_ERROR;   if ((receiver == NULL) || (receiver == Py_None))    return SVN_NO_ERROR;  svn_swig_py_acquire_py_lock();  py_pool = make_ob_pool(pool);  if (py_pool == NULL) {    err = callback_exception_error();    goto finished;  }  if (changed_paths)    {      chpaths = convert_hash(changed_paths, convert_log_changed_path,                             NULL, NULL);    }  else    {      chpaths = Py_None;      Py_INCREF(Py_None);    }  if ((result = PyObject_CallFunction(receiver,                                       (char *)"OlsssO",                                       chpaths, rev, author, date, msg,                                       py_pool)) == NULL)    {      err = callback_exception_error();    }  else    {      if (result != Py_None)        err = callback_bad_return_error("Not None");      Py_DECREF(result);    }  Py_DECREF(chpaths);  Py_DECREF(py_pool);finished:  svn_swig_py_release_py_lock();  return err;}svn_error_t *svn_swig_py_info_receiver_func(void *baton,                                            const char *path,                                            const svn_info_t *info,                                            apr_pool_t *pool){  PyObject *receiver = baton;  PyObject *result;  svn_error_t *err = SVN_NO_ERROR;   if ((receiver == NULL) || (receiver == Py_None))    return SVN_NO_ERROR;  svn_swig_py_acquire_py_lock();  if ((result = PyObject_CallFunction(receiver,                                       (char *)"sO&O&",                                       path, make_ob_info, info,                                      make_ob_pool, pool)) == NULL)    {      err = callback_exception_error();    }  else    {      if (result != Py_None)        err = callback_bad_return_error("Not None");      Py_DECREF(result);    }  svn_swig_py_release_py_lock();  return err;}svn_error_t *svn_swig_py_client_blame_receiver_func(void *baton,                                                    apr_int64_t line_no,                                                    svn_revnum_t revision,                                                    const char *author,                                                    const char *date,                                                    const char *line,                                                    apr_pool_t *pool){  PyObject *receiver = baton;  PyObject *result;  svn_error_t *err = SVN_NO_ERROR;   if ((receiver == NULL) || (receiver == Py_None))    return SVN_NO_ERROR;  svn_swig_py_acquire_py_lock();  if ((result = PyObject_CallFunction(receiver,                                       (char *)                                      (SVN_APR_INT64_T_PYCFMT "lsssO&"),                                       line_no, revision, author, date, line,                                       make_ob_pool, pool)) == NULL)    {      err = callback_exception_error();    }  else    {      if (result != Py_None)        err = callback_bad_return_error("Not None");      Py_DECREF(result);    }  svn_swig_py_release_py_lock();  return err;}svn_error_t *svn_swig_py_auth_simple_prompt_func(svn_auth_cred_simple_t **cred,                                    void *baton,                                    const char *realm,                                    const char *username,                                    svn_boolean_t may_save,                                    apr_pool_t *pool){  PyObject *function = baton;  PyObject *result;  svn_auth_cred_simple_t *creds = NULL;  svn_error_t *err = SVN_NO_ERROR;  if ((function == NULL) || (function == Py_None))    return SVN_NO_ERROR;  svn_swig_py_acquire_py_lock();  if ((result = PyObject_CallFunction(function,                                       (char *)"sslO&",                                       realm, username, may_save,                                       make_ob_pool, pool)) == NULL)    {      err = callback_exception_error();    }  else    {      if (result != Py_None)        {          svn_auth_cred_simple_t *tmp_creds = NULL;          if (svn_swig_ConvertPtrString(result, (void **)&tmp_creds,                 "svn_auth_cred_simple_t *"))            {              err = type_conversion_error("svn_auth_cred_simple_t *");            }          else            {              creds = apr_pcalloc(pool, sizeof(*creds));              creds->username = tmp_creds->username ? \                apr_pstrdup(pool, tmp_creds->username) : NULL;              creds->password = tmp_creds->password ? \                apr_pstrdup(pool, tmp_creds->password) : NULL;              creds->may_save = tmp_creds->may_save;            }        }      Py_DECREF(result);    }  svn_swig_py_release_py_lock();  *cred = creds;  return err;}svn_error_t *svn_swig_py_auth_username_prompt_func(svn_auth_cred_username_t **cred,                                      void *baton,                                      const char *realm,                                      svn_boolean_t may_save,                                      apr_pool_t *pool){  PyObject *function = baton;  PyObject *result;  svn_auth_cred_username_t *creds = NULL;  svn_error_t *err = SVN_NO_ERROR;  if ((function == NULL) || (function == Py_None))    return SVN_NO_ERROR;  svn_swig_py_acquire_py_lock();  if ((result = PyObject_CallFunction(function,                                       (char *)"slO&",                                       realm, may_save,                                       make_ob_pool, pool)) == NULL)    {      err = callback_exception_error();    }  else    {      if (result != Py_None)        {          svn_auth_cred_username_t *tmp_creds = NULL;          if (svn_swig_ConvertPtrString(result, (void **)&tmp_creds,                 "svn_auth_cred_username_t *"))            {              err = type_conversion_error("svn_auth_cred_username_t *");            }          else            {              creds = apr_pcalloc(pool, sizeof(*creds));              creds->username = tmp_creds->username ? \                apr_pstrdup(pool, tmp_creds->username) : NULL;              creds->may_save = tmp_creds->may_save;            }        }      Py_DECREF(result);    }  svn_swig_py_release_py_lock();  *cred = creds;  return err;}svn_error_t *svn_swig_py_auth_ssl_server_trust_prompt_func(    svn_auth_cred_ssl_server_trust_t **cred,    void *baton,    const char *realm,    apr_uint32_t failures,    const svn_auth_ssl_server_cert_info_t *cert_info,    svn_boolean_t may_save,    apr_pool_t *pool){  PyObject *function = baton;  PyObject *result;  svn_auth_cred_ssl_server_trust_t *creds = NULL;  svn_error_t *err = SVN_NO_ERROR;  if ((function == NULL) || (function == Py_None))    return SVN_NO_ERROR;  svn_swig_py_acquire_py_lock();  if ((result = PyObject_CallFunction(function, (char *)"slO&lO&",                   realm, failures, make_ob_auth_ssl_server_cert_info,                  cert_info, may_save, make_ob_pool, pool)) == NULL)    {      err = callback_exception_error();    }  else    {      if (result != Py_None)        {          svn_auth_cred_ssl_server_trust_t *tmp_creds = NULL;          if (svn_swig_ConvertPtrString              (result, (void **)&tmp_creds,                "svn_auth_cred_ssl_server_trust_t *"))            {              err = type_conversion_error                ("svn_auth_cred_ssl_server_trust_t *");            }          else            {              creds = apr_pcalloc(pool, sizeof(*creds));              *creds = *tmp_creds;            }        }      Py_DECREF(result);    }  svn_swig_py_release_py_lock();  *cred = creds;  return err;}svn_error_t *svn_swig_py_auth_ssl_client_cert_prompt_func(    svn_auth_cred_ssl_client_cert_t **cred,    void *baton,    const char *realm,    svn_boolean_t may_save,    apr_pool_t *pool){  PyObject *function = baton;  PyObject *result;  svn_auth_cred_ssl_client_cert_t *creds = NULL;  svn_error_t *err = SVN_NO_ERROR;  if ((function == NULL) || (function == Py_None))    return SVN_NO_ERROR;  svn_swig_py_acquire_py_lock();  if ((result = PyObject_CallFunction(function,                                       (char *)"slO&",                                       realm, may_save,                                       make_ob_pool, pool)) == NULL)    {      err = callback_exception_error();    }  else    {      if (result != Py_None)        {          svn_auth_cred_ssl_client_cert_t *tmp_creds = NULL;          if (svn_swig_ConvertPtrString              (result, (void **)&tmp_creds,                "svn_auth_cred_ssl_client_cert_t *"))            {              err = type_conversion_error("svn_auth_cred_ssl_client_cert_t *");            }          else            {              creds = apr_pcalloc(pool, sizeof(*creds));              creds->cert_file = tmp_creds->cert_file ? \                apr_pstrdup(pool, tmp_creds->cert_file) : NULL;              creds->may_save = tmp_creds->may_save;            }        }      Py_DECREF(result);    }  svn_swig_py_release_py_lock();  *cred = creds;  return err;}svn_error_t *svn_swig_py_auth_ssl_client_cert_pw_prompt_func(    svn_auth_cred_ssl_client_cert_pw_t **cred,    void *baton,    const char *realm,    svn_boolean_t may_save,    apr_pool_t *pool){  PyObject *function = baton;  PyObject *result;  svn_auth_cred_ssl_client_cert_pw_t *creds = NULL;  svn_error_t *err = SVN_NO_ERROR;  if ((function == NULL) || (function == Py_None))    return SVN_NO_ERROR;  svn_swig_py_acquire_py_lock();  if ((result = PyObject_CallFunction(function,                                       (char *)"slO&",                                       realm, may_save,                                       make_ob_pool, pool)) == NULL)    {      err = callback_exception_error();    }  else    {      if (result != Py_None)        {          svn_auth_cred_ssl_client_cert_pw_t *tmp_creds = NULL;          if (svn_swig_ConvertPtrString              (result, (void **)&tmp_creds,                "svn_auth_cred_ssl_client_cert_pw_t *"))            {              err = type_conversion_error                ("svn_auth_cred_ssl_client_cert_pw_t *");            }          else            {              creds = apr_pcalloc(pool, sizeof(*creds));              creds->password = tmp_creds->password ? \                apr_pstrdup(pool, tmp_creds->password) : NULL;              creds->may_save = tmp_creds->may_save;            }        }      Py_DECREF(result);    }  svn_swig_py_release_py_lock();  *cred = creds;  return err;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -