Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 149060 Details for
Bug 183710
Applications depending on fuse-python don't really work
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
fuse_python_accept_none.patch
fuse_python_accept_none.patch (text/plain), 1.97 KB, created by
René 'Necoro' Neumann
on 2008-04-07 23:37:34 UTC
(
hide
)
Description:
fuse_python_accept_none.patch
Filename:
MIME Type:
Creator:
René 'Necoro' Neumann
Created:
2008-04-07 23:37:34 UTC
Size:
1.97 KB
patch
obsolete
>--- fuseparts/_fusemodule.c.old 2007-06-18 16:20:09.000000000 +0200 >+++ fuseparts/_fusemodule.c 2008-04-08 01:18:43.000000000 +0200 >@@ -182,8 +182,50 @@ > * the getattr type functions. > */ > >-#define fetchattr_soft_d(st, attr, defa) \ >- fetchattr_soft(st, attr) else st->attr = defa >+// <spaghetti_code> (sorry ...) >+ >+#define good(attr) _GOOD_SPAGHETTI_ ## attr >+#define bad(attr) _BAD_SPAGHETTI_ ## attr >+ >+/* >+ * This macro checks whether an attribute is available and not None. >+ * Success --> set attribute and goto _GOOD_SPAGHETTI >+ * Failure --> goto _BAD_SPAGHETTI >+ * Error --> goto OUT_DECREF >+ */ >+#define fetchattr_soft_none_pre(st, attr) \ >+ if (PyObject_HasAttrString(v, #attr)) { \ >+ if (!(pytmp = PyObject_GetAttrString(v, #attr))) \ >+ goto OUT_DECREF; \ >+ else if (pytmp != Py_None) { \ >+ py2attr(st, attr) \ >+ goto good(attr); \ >+ } \ >+ else { \ >+ Py_DECREF(pytmp); \ >+ goto bad(attr); \ >+ } \ >+ } \ >+ goto bad(attr); >+ >+/** >+ * Calls fetchattr_soft_none_pre and ignores failure. >+ */ >+#define fetchattr_soft_none(st, attr) \ >+ fetchattr_soft_none_pre(st, attr); \ >+ good(attr): ; \ >+ bad(attr): ; >+ >+/** >+ * Calls fetchattr_soft_none_pre and sets a default value on failure. >+ */ >+#define fetchattr_soft_d(st, attr, defa) \ >+ fetchattr_soft_none_pre(st, attr); \ >+ bad(attr): \ >+ st->attr = defa; \ >+ good(attr): ; >+ >+// </spaghetti_code> > > #define FETCH_STAT_DATA() \ > fetchattr(st, st_mode); \ >@@ -206,7 +248,7 @@ > * autotools so we just dare to throw these in as is. \ > */ \ > \ >- fetchattr_soft(st, st_rdev); \ >+ fetchattr_soft_none(st, st_rdev); \ > fetchattr_soft_d(st, st_blksize, 4096); \ > fetchattr_soft_d(st, st_blocks, (st->st_size + 511)/512) > >@@ -245,6 +287,10 @@ > #endif > > #undef fetchattr_soft_d >+#undef fetchattr_soft_none >+#undef fetchattr_soft_none_pre >+#undef good >+#undef bad > #undef FETCH_STAT_DATA > > static int
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 183710
:
123448
|
123576
|
123577
|
142372
|
146405
|
147413
| 149060