summaryrefslogtreecommitdiffstats
path: root/db/mork/src/morkAtom.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'db/mork/src/morkAtom.cpp')
-rw-r--r--db/mork/src/morkAtom.cpp29
1 files changed, 12 insertions, 17 deletions
diff --git a/db/mork/src/morkAtom.cpp b/db/mork/src/morkAtom.cpp
index 0b73f97fa..b0621c3e9 100644
--- a/db/mork/src/morkAtom.cpp
+++ b/db/mork/src/morkAtom.cpp
@@ -29,40 +29,35 @@
//3456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789
-mork_bool
-morkAtom::GetYarn(mdbYarn* outYarn) const
+/* static */
+mork_bool morkAtom::GetYarn(const morkAtom* atom, mdbYarn* outYarn)
{
const void* source = 0;
mdb_fill fill = 0;
mdb_cscode form = 0;
outYarn->mYarn_More = 0;
- if ( this->IsWeeBook() )
- {
- morkWeeBookAtom* weeBook = (morkWeeBookAtom*) this;
+ if (atom) {
+ if (atom->IsWeeBook()) {
+ morkWeeBookAtom* weeBook = (morkWeeBookAtom*)atom;
source = weeBook->mWeeBookAtom_Body;
fill = weeBook->mAtom_Size;
- }
- else if ( this->IsBigBook() )
- {
- morkBigBookAtom* bigBook = (morkBigBookAtom*) this;
+ } else if (atom->IsBigBook()) {
+ morkBigBookAtom* bigBook = (morkBigBookAtom*)atom;
source = bigBook->mBigBookAtom_Body;
fill = bigBook->mBigBookAtom_Size;
form = bigBook->mBigBookAtom_Form;
- }
- else if ( this->IsWeeAnon() )
- {
- morkWeeAnonAtom* weeAnon = (morkWeeAnonAtom*) this;
+ } else if (atom->IsWeeAnon()) {
+ morkWeeAnonAtom* weeAnon = (morkWeeAnonAtom*)atom;
source = weeAnon->mWeeAnonAtom_Body;
fill = weeAnon->mAtom_Size;
- }
- else if ( this->IsBigAnon() )
- {
- morkBigAnonAtom* bigAnon = (morkBigAnonAtom*) this;
+ } else if (atom->IsBigAnon()) {
+ morkBigAnonAtom* bigAnon = (morkBigAnonAtom*)atom;
source = bigAnon->mBigAnonAtom_Body;
fill = bigAnon->mBigAnonAtom_Size;
form = bigAnon->mBigAnonAtom_Form;
}
+ }
if ( source && fill ) // have an atom with nonempty content?
{