#include "udanax.h"
Include dependency graph for sporgl.cxx:

Go to the source code of this file.
Functions | |
| typesporglset * | vspanset2sporglset (Session *sess, IStreamAddr *docisa, typevspanset vspanset, typesporglset *sporglsetptr, int type) |
| ??? | |
| bool | specset2sporglset (Session *sess, typespecset specset, typesporglset *sporglsetptr, int type) |
| ??? | |
| bool | link2sporglset (Session *sess, IStreamAddr *linkisa, typesporglset *sporglsetptr, int whichend, int type) |
| ??? | |
| void | sporglset2vspanset (Session *sess, IStreamAddr *homedoc, typesporglset *sporglsetptr, typevspanset *vspansetptr, int type) |
| ??? | |
| void | linksporglset2vspec (Session *sess, IStreamAddr *homedoc, typesporglset *sporglsetptr, typevspec *specptr, int type) |
| ??? | |
| bool | linksporglset2specset (Session *sess, IStreamAddr *homedoc, typesporglset sporglset, typespecset *specsetptr, int type) |
| ??? | |
| void | unpacksporgl (typesporglset sporglptr, Tumbler *streamptr, Tumbler *widthptr, type2dbottomcruminfo *infoptr) |
| ??? | |
| void | contextintosporgl (type2dcontext *context, Tumbler *linkid, typesporgl *sporglptr, int index) |
| ??? | |
| void | sporglset2linksetinrange (Session *sess, typecuc *spanfptr, typesporglset sporglset, typelinkset *linksetptr, typeispan *orglrange, int spantype) |
| ??? | |
| void | sporglset2linkset (Session *sess, typecuc *spanfptr, typesporglset sporglset, typelinkset *linksetptr, typeispan *homeset, int spantype) |
| ??? | |
(to be defined)
Definition in file sporgl.cxx.
|
||||||||||||||||||||
|
??? (to be defined) Definition at line 360 of file sporgl.cxx. References assert, type2dcontext::context2dinfo, type2dcontext::contextwid, typewid::dsas, type2dbottomcruminfo::homedoc, iszerotumbler, typesporgl::itemid, movetumbler, typesporgl::next, NULL, typesporgl::sporgladdress, SPORGLID, typesporgl::sporglorigin, typesporgl::sporglwidth, and type2dcontext::totaloffset. Referenced by link2sporglset(), and retrievesporglsetinrange().
00365 {
00366 sporglptr->itemid = SPORGLID;
00367 sporglptr->next = NULL;
00368 movetumbler(/* linkid */ &context->context2dinfo.homedoc, &sporglptr->sporgladdress);
00369
00370 /* ^^^^^ zzz foo kluge 11/23/84 ^^^^^ */
00371
00372 movetumbler(&context->totaloffset.dsas[index], &sporglptr->sporglorigin);
00373
00374 if (iszerotumbler(&context->contextwid.dsas[index]))
00375 assert(0); // zero wid in contextintosporgl
00376
00377 movetumbler(&context->contextwid.dsas[index], &sporglptr->sporglwidth);
00378 }
|
|
||||||||||||||||||||||||
|
??? (to be defined)
Definition at line 175 of file sporgl.cxx. References contextfree(), contextintosporgl(), findorgl(), granf, I, typesporgl::next, ContextBase::nextcontext, NULL, retrieverestricted(), typespan::stream, tumblerclear, tumblerincrement(), typeorgl, typesporglset, typevspan, V, and typespan::width. Referenced by dofollowlink().
00176 : User's session context 00177 IStreamAddr *linkisa, 00178 typesporglset *sporglsetptr, 00179 int whichend, 00180 int type) 00181 { 00182 typeorgl orgl; 00183 Tumbler zero; 00184 typevspan vspan; 00185 Context *context, *c; 00186 typesporgl *sporglptr; 00187 00188 if (!findorgl(sess, granf, linkisa, &orgl, type)) 00189 return false; 00190 00191 tumblerclear(&zero); 00192 tumblerincrement(&zero, 0, whichend, &vspan.stream); 00193 tumblerincrement(&zero, 0 /* 1 */ , 1, &vspan.width); 00194 if ((context = retrieverestricted((typecuc *) orgl, &vspan, V, (typespan *) NULL, I, (IStreamAddr *) NULL)) != 0) { 00195 for (c = context; c; c = (Context *) c->nextcontext) { 00196 sporglptr = new(sess) typesporgl; 00197 contextintosporgl((type2dcontext *) c, (Tumbler *) NULL, sporglptr, I); 00198 00199 *sporglsetptr = (typesporglset) sporglptr; 00200 sporglsetptr = (typesporglset *) & sporglptr->next; 00201 } 00202 contextfree(context); 00203 return true; 00204 00205 } else 00206 return false; 00207 } |
|
||||||||||||||||||||||||
|
??? (to be defined)
Definition at line 292 of file sporgl.cxx. References assert, ISPANID, iszerotumbler, linksporglset2vspec(), movetumbler, NULL, typeispan, typespecset, and typesporglset. Referenced by dofollowlink(), and retrieveendsetsfromspanf().
00293 : User's session context 00294 IStreamAddr *homedoc, 00295 typesporglset sporglset, 00296 typespecset *specsetptr, 00297 int type) 00298 { 00299 typespecset specset; 00300 00301 *specsetptr = NULL; 00302 for (; sporglset; sporglset = (typesporglset) ((typeitemheader *) sporglset)->next) { 00303 specset = (typespecset) new(sess) typevspec; 00304 // specset = (typespecset) sess->alloc(sizeof(typevspec)); 00305 if (iszerotumbler(&((typesporgl *) sporglset)->sporgladdress)) { 00306 if (iszerotumbler(&((typesporgl *) sporglset)->sporglwidth)) 00307 assert(0); // zero wid I span in linksporglset2specset 00308 00309 ((typeitemheader *) specset)->itemid = ISPANID; 00310 movetumbler(&((typesporgl *) sporglset)->sporglorigin, &((typeispan *) specset)->stream); 00311 movetumbler(&((typesporgl *) sporglset)->sporglwidth, &((typeispan *) specset)->width); 00312 } else 00313 linksporglset2vspec(sess, homedoc, &sporglset, (typevspec *) specset, type); 00314 00315 ((typeitemheader *) specset)->next = NULL; 00316 *specsetptr = specset; 00317 specsetptr = (typespecset *) & ((typeitemheader *) specset)->next; 00318 } 00319 return true; 00320 } |
|
||||||||||||||||||||||||
|
??? (to be defined)
Definition at line 268 of file sporgl.cxx. References typevspec::docisa, typevspec::itemid, movetumbler, typevspec::next, NULL, sporglset2vspanset(), typesporglset, typevspec::vspanset, and VSPECID. Referenced by linksporglset2specset().
00269 : User's session context 00270 IStreamAddr *homedoc, 00271 typesporglset *sporglsetptr, 00272 typevspec *specptr, 00273 int type) 00274 { 00275 /* typesporglset sporglset; sporglset = *sporglsetptr; */ 00276 specptr->itemid = VSPECID; 00277 specptr->next = NULL; 00278 movetumbler(homedoc /* &sporglset->sporgladdress */ , &specptr->docisa); 00279 00280 specptr->vspanset = NULL; 00281 sporglset2vspanset(sess, homedoc, sporglsetptr, &specptr->vspanset, type); 00282 } |
|
||||||||||||||||||||
|
??? (to be defined)
Definition at line 144 of file sporgl.cxx. References ISPANID, NULL, typespecset, typesporglset, vspanset2sporglset(), and VSPECID. Referenced by docreatelink(), domakelink(), findlinksfromtothreesp(), and retrieveendsetsfromspanf().
00145 : User's session context 00146 typespecset specset, 00147 typesporglset *sporglsetptr, 00148 int type) 00149 { 00150 *sporglsetptr = NULL; 00151 for (; specset; specset = (typespecset) ((typeitemheader *) specset)->next) { 00152 if (((typeitemheader *) specset)->itemid == ISPANID) { 00153 *sporglsetptr = (typesporglset) specset; 00154 sporglsetptr = (typesporglset *) & ((typeitemheader *) specset)->next; 00155 00156 } else if (((typeitemheader *) specset)->itemid == VSPECID) { 00157 00158 if (!(sporglsetptr = vspanset2sporglset(sess, &((typevspec *) specset)->docisa, ((typevspec *) specset)->vspanset, sporglsetptr, type))) 00159 return false; 00160 } 00161 } 00162 00163 *sporglsetptr = NULL; 00164 return true; 00165 } |
|
||||||||||||||||||||||||||||
|
??? (to be defined)
Definition at line 434 of file sporgl.cxx. References Tumbler::mantissa, typespan::next, NULL, sporglset2linksetinrange(), typespan::stream, tumblerclear, typeispan, typelinkset, typesporglset, and typespan::width. Referenced by findlinksfromtothreesp().
00435 : User's session context 00436 typecuc *spanfptr, 00437 typesporglset sporglset, 00438 typelinkset *linksetptr, 00439 typeispan *homeset, 00440 int spantype) 00441 { 00442 typeispan nullhomeset; 00443 00444 *linksetptr = NULL; 00445 00446 if (true || !homeset) { 00447 tumblerclear(&nullhomeset.stream); 00448 tumblerclear(&nullhomeset.width); 00449 nullhomeset.width.mantissa[0] = 100; 00450 nullhomeset.next = NULL; 00451 homeset = &nullhomeset; 00452 } 00453 00454 for (; homeset; homeset = homeset->next) 00455 sporglset2linksetinrange(sess, spanfptr, sporglset, linksetptr, homeset, spantype); 00456 } |
|
||||||||||||||||||||||||||||
|
??? (to be defined)
Definition at line 388 of file sporgl.cxx. References beheadtumbler(), contextfree(), typewid::dsas, movetumbler, ContextBase::nextcontext, NULL, onlinklist(), ORGLRANGE, prefixtumbler(), retrieverestricted(), SPANRANGE, SPORGLID, typespan::stream, ContextBase::totaloffset, typeispan, typelinkset, typesporglset, and typespan::width. Referenced by sporglset2linkset().
00389 : User's session context 00390 typecuc *spanfptr, 00391 typesporglset sporglset, 00392 typelinkset *linksetptr, 00393 typeispan *orglrange, 00394 int spantype) 00395 { 00396 typespan range; 00397 Context *context, *c; 00398 IStreamAddr linksa; 00399 00400 type2dbottomcruminfo linfo; 00401 type2dbottomcruminfo *infoptr = &linfo; 00402 for (; sporglset; sporglset = (typesporglset) ((typeitemheader *) sporglset)->next) { 00403 if (false /* trying to kluge links followable thru versions */ 00404 && ((typeitemheader *) sporglset)->itemid == SPORGLID) { 00405 infoptr = &linfo; 00406 movetumbler(&((typesporgl *) sporglset)->sporgladdress, &linfo.homedoc); 00407 } else 00408 infoptr = NULL; 00409 00410 if (orglrange) { 00411 prefixtumbler(&orglrange->stream, spantype, &range.stream); 00412 prefixtumbler(&orglrange->width, 0, &range.width); 00413 context = retrieverestricted(spanfptr, (typespan *) sporglset, SPANRANGE, &range, ORGLRANGE, (IStreamAddr *) infoptr); 00414 } else 00415 context = retrieverestricted(spanfptr, (typespan *) sporglset, SPANRANGE, (typespan *) NULL, ORGLRANGE, (IStreamAddr *) infoptr); 00416 00417 for (c = context; c; c = (Context *) c->nextcontext) { 00418 beheadtumbler(&c->totaloffset.dsas[ORGLRANGE], &linksa); 00419 onlinklist(sess, linksetptr, &linksa); 00420 } 00421 00422 contextfree(context); 00423 } 00424 } |
|
||||||||||||||||||||||||
|
??? (to be defined)
Definition at line 219 of file sporgl.cxx. References assert, findorgl(), granf, ispan2vspanset(), ISPANID, iszerotumbler, typesporgl::itemid, typespan::itemid, movetumbler, typesporgl::next, typespan::next, NULL, SPORGLID, typesporgl::sporglorigin, typesporgl::sporglwidth, typespan::stream, tumblereq(), typeispan, typeorgl, typesporglset, typevspanset, and typespan::width. Referenced by linksporglset2vspec().
00220 : User's session context 00221 IStreamAddr *homedoc, 00222 typesporglset *sporglsetptr, 00223 typevspanset *vspansetptr, 00224 int type) 00225 { 00226 typeorgl orgl; 00227 typeispan ispan; 00228 00229 /* Tumbler zero; */ 00230 typesporgl *sporglptr; 00231 00232 sporglptr = (typesporgl *) * sporglsetptr; 00233 /* tumblerclear (&zero); */ 00234 00235 findorgl(sess, granf, homedoc /* &sporglptr->sporgladdress */, &orgl, type); 00236 ispan.itemid = ISPANID; 00237 ispan.next = NULL; 00238 movetumbler(&sporglptr->sporglorigin, &ispan.stream); 00239 movetumbler(&sporglptr->sporglwidth, &ispan.width); 00240 vspansetptr = ispan2vspanset(sess, orgl, &ispan, vspansetptr); 00241 00242 for (;;) { 00243 sporglptr = sporglptr->next; 00244 if (!sporglptr || !(sporglptr->itemid == SPORGLID) || !tumblereq(&((typesporgl *) sporglptr)->sporgladdress, &((typesporgl *) (*sporglsetptr))->sporgladdress)) 00245 return; 00246 00247 *sporglsetptr = (typesporglset) sporglptr; 00248 movetumbler(&sporglptr->sporglorigin, &ispan.stream); 00249 00250 if (iszerotumbler(&sporglptr->sporglwidth)) 00251 assert(0); // 2 sporgl ispan width 0 in sporglset2vspanset 00252 00253 movetumbler(&sporglptr->sporglwidth, &ispan.width); 00254 vspansetptr = ispan2vspanset(sess, orgl, &ispan, vspansetptr); 00255 } 00256 } |
|
||||||||||||||||||||
|
??? (to be defined) Definition at line 330 of file sporgl.cxx. References assert, type2dbottomcruminfo::homedoc, ISPANID, iszerotumbler, L, movetumbler, SPORGLID, tumblerclear, typeispan, and typesporglset. Referenced by insertpm().
00335 {
00336 if (((typeitemheader *) sporglptr)->itemid == ISPANID) {
00337 movetumbler(&((typeispan *) sporglptr)->stream, streamptr);
00338 movetumbler(&((typeispan *) sporglptr)->width, widthptr);
00339 tumblerclear(&infoptr->homedoc);
00340
00341 } else if (((typeitemheader *) sporglptr)->itemid == SPORGLID) {
00342 movetumbler(&((typesporgl *) sporglptr)->sporglorigin, streamptr);
00343 movetumbler(&((typesporgl *) sporglptr)->sporglwidth, widthptr);
00344 movetumbler(&((typesporgl *) sporglptr)->sporgladdress, &infoptr->homedoc /* should be sourcedoc */ );
00345
00346 } else
00347 L("unpacksporgl - bad itemid\n");
00348
00349 assert(!iszerotumbler(widthptr)); // ERROR: zero width in unpacksporgl
00350 }
|
|
||||||||||||||||||||||||
|
??? (to be defined)
Definition at line 101 of file sporgl.cxx. References findorgl(), granf, typesporgl::itemid, movetumbler, typesporgl::next, typespan::next, NULL, typesporgl::sporgladdress, SPORGLID, typesporgl::sporglorigin, typesporgl::sporglwidth, typespan::stream, typeispanset, typeorgl, typesporglset, typevspanset, vspanset2ispanset(), and typespan::width. Referenced by specset2sporglset().
00102 : User's session context 00103 IStreamAddr *docisa, 00104 typevspanset vspanset, 00105 typesporglset *sporglsetptr, 00106 int type) 00107 { 00108 typeorgl orgl; 00109 typesporgl *sporglset; 00110 typeispanset ispanset; 00111 00112 ispanset = NULL; 00113 if (!findorgl(sess, granf, docisa, &orgl, type)) 00114 return NULL; 00115 00116 for (; vspanset; vspanset = vspanset->next) { 00117 (void)vspanset2ispanset(sess, orgl, vspanset, &ispanset); 00118 for (; ispanset; ispanset = ispanset->next) { 00119 sporglset = new(sess) typesporgl; 00120 sporglset->itemid = SPORGLID; 00121 sporglset->next = NULL; 00122 00123 movetumbler(docisa, &sporglset->sporgladdress); 00124 movetumbler(&ispanset->stream, &sporglset->sporglorigin); 00125 movetumbler(&ispanset->width, &sporglset->sporglwidth); 00126 00127 *sporglsetptr = (typesporglset) sporglset; 00128 sporglsetptr = (typesporglset *) & sporglset->next; 00129 } 00130 } 00131 /* note that this returns the LAST sporgl alloced this is ok the returned value gets passed back to here to be used for 00132 * a linked list */ 00133 return sporglsetptr; 00134 } |
1.3.4