#include <ctype.h>
#include "udanax.h"
#include "players.h"
Include dependency graph for get2fe.cxx:

Go to the source code of this file.
Defines | |
| #define | WORDELIM '~' |
| #define | TUMDELIM '.' |
| #define | SPANFLAG 's' |
| #define | VSPECFLAG 'v' |
| #define | TEXTFLAG 't' |
Functions | |
| bool | getnum (Session *sess, int *numptr) |
| ??? | |
| bool | gettdigit (Session *sess, int *valueptr) |
| ??? | |
| bool | getspan (Session *sess, typespan *spanptr, typeitemid id) |
| ??? | |
| bool | getvspec (Session *sess, typevspec *vspecptr) |
| ??? | |
| bool | getspanset (Session *sess, typespanset *spansetptr, typeitemid id) |
| ??? | |
| bool | gettext (Session *sess, typetext *textptr) |
| ??? | |
| bool | validrequest (Session *sess, typerequest request) |
| ??? | |
| void | error (Session *sess, char *string) |
| ??? | |
| void | frontenddied () |
| ??? | |
| void | pushc (Session *sess, char c) |
| ??? | |
| char | pullc (Session *sess) |
| ??? | |
| bool | gettumbler (Session *sess, Tumbler *tumblerptr) |
| parse a tumbler value from the input stream | |
| bool | getnumber (Session *sess, int *numptr) |
| ??? | |
| bool | eatchar (Session *sess, char c) |
| ??? | |
| bool | getspecset (Session *sess, typespecset *specsetptr) |
| ??? | |
| bool | getcutseq (Session *sess, typecutseq *cutseqptr) |
| ??? | |
| bool | gettextset (Session *sess, typetextset *textsetptr) |
| ??? | |
| bool | getrequest (Session *sess, typerequest *requestptr) |
| ??? | |
| bool | validaccount (Session *sess, IStreamAddr *accountptr) |
| ??? | |
Variables | |
| FILE * | logfile |
| FILE * | nulllog |
| FILE * | reallog |
| bool | logstuff |
| FILE * | interfaceinput |
| FILE * | febelog |
(to be defined)
Definition in file get2fe.cxx.
|
|
Definition at line 96 of file get2fe.cxx. Referenced by getspecset(). |
|
|
Definition at line 98 of file get2fe.cxx. Referenced by puttextset(). |
|
|
Definition at line 95 of file get2fe.cxx. Referenced by gettdigit(), and puttumbler(). |
|
|
Definition at line 97 of file get2fe.cxx. Referenced by getspecset(). |
|
|
Definition at line 94 of file get2fe.cxx. Referenced by getnumber(), getrequest(), getspecset(), gettumbler(), pullc(), putnumber(), and puttumbler(). |
|
||||||||||||
|
??? (to be defined)
Definition at line 291 of file get2fe.cxx. References metachar, pullc(), and pushc(). Referenced by getbool(), gettumbler(), and needchar().
|
|
||||||||||||
|
??? (to be defined)
Definition at line 113 of file put.cxx. References Session::errp, and xuputstring(). Referenced by getbool(), gettumbler(), navigateonht(), pushc(), and putitem().
00114 : User's session context 00115 char *string) 00116 { 00117 fprintf(sess->errp, "%s", string); 00118 } |
|
|
??? (to be defined) Definition at line 250 of file be.cxx.
|
|
||||||||||||
|
??? (to be defined)
Definition at line 432 of file get2fe.cxx. References typecutseq::cutsarray, getnumber(), gettumbler(), and typecutseq::numberofcuts. Referenced by getrearrange().
00433 : User's session context 00434 typecutseq *cutseqptr) 00435 { 00436 int ncuts, i; 00437 00438 /* fprintf (logfile, " cutseq"); */ 00439 if (!(getnumber(sess, &ncuts) && (ncuts == 3 || ncuts == 4))) 00440 return false; 00441 00442 /* fprintf (logfile, " {"); */ 00443 cutseqptr->numberofcuts = ncuts; 00444 00445 for (i = 0; i < ncuts; ++i) { 00446 if (!gettumbler(sess, &cutseqptr->cutsarray[i])) 00447 return false; 00448 } 00449 /* fprintf (logfile, " }"); */ 00450 return true; 00451 } |
|
||||||||||||
|
??? (to be defined)
Definition at line 120 of file get2.cxx. References Session::errp, Session::inp, and metachar. Referenced by getnumber(), gettdigit(), and gettumbler().
00121 : User's session context 00122 int *numptr) 00123 { /* inside temporary */ 00124 metachar c; 00125 int num; 00126 00127 bool flag = false; /* should check for minus */ 00128 for (num = 0; (c = getc(sess->inp)) != EOF && isdigit(c);) { 00129 num = num * 10 + c - '0'; 00130 flag = true; 00131 } 00132 00133 if (!flag) { 00134 fprintf(sess->errp, "no number\n"); 00135 #ifndef DISTRIBUTION 00136 if (c == '?' || c == 'h') { 00137 system("cat /usr3/xu/requests.j"); 00138 } else if (c == '!') { 00139 system("csh"); 00140 } 00141 #endif 00142 } else { 00143 ungetc(c, sess->inp); 00144 *numptr = num; 00145 } 00146 return flag; 00147 } |
|
||||||||||||
|
??? (to be defined)
Definition at line 266 of file get2fe.cxx. References pullc(), and WORDELIM. Referenced by getcutseq(), getfindnextnlinksfromtothree(), getfollowlink(), getopen(), getrequest(), getspecset(), gettextset(), and setdebug().
00267 : User's session context 00268 int *numptr) 00269 { 00270 int num = 0; 00271 bool flag = false; 00272 00273 char c; 00274 while ((c = pullc(sess)) && isdigit(c)) { 00275 num = num * 10 + c - '0'; 00276 flag = true; 00277 } 00278 *numptr = num; 00279 /* fprintf (logfile, " %d", *numptr); */ 00280 return flag && (c == WORDELIM || c == '\n'); 00281 } |
|
||||||||||||
|
??? (to be defined)
Definition at line 533 of file get2fe.cxx. References Session::charinbuff, getnumber(), Session::inp, L, logfile, prompt(), pullc(), validrequest(), and WORDELIM. Referenced by xanadu().
00534 : User's session context 00535 typerequest *requestptr) 00536 { 00537 char c; 00538 int num; 00539 bool flag; 00540 00541 /* fprintf (logfile, "\nrequest "); */ 00542 sess->charinbuff = false; 00543 /* 00544 * return ( getnumber (sess, requestptr) && validrequest (sess, 00545 * *requestptr)); */ 00546 num = 0; 00547 flag = false; 00548 while ((c = pullc(sess)) != 0) { 00549 fprintf(logfile, "%c", c); 00550 if (!isdigit(c)) 00551 break; 00552 num = num * 10 + c - '0'; 00553 flag = true; 00554 } 00555 *requestptr = num; 00556 return flag && (c == WORDELIM || c == '\n') && validrequest(sess, *requestptr); 00557 } |
|
||||||||||||||||
|
??? (to be defined) Referenced by getdeletevspan(), getspanset(), and getspecset(). |
|
||||||||||||||||
|
??? (to be defined) Referenced by getboolset(), getfindlinksfromtothree(), and getvspec(). |
|
||||||||||||
|
??? (to be defined)
Definition at line 312 of file get2fe.cxx. References getnumber(), getspan(), getvspec(), ISPANID, NULL, pullc(), SPANFLAG, typespecset, VSPECFLAG, and WORDELIM. Referenced by getcopy(), getcreatelink(), getfinddocscontaining(), getfindlinksfromtothree(), getretrieveendsets(), getretrievev(), and getshowrelationof2versions().
00313 : User's session context 00314 typespecset *specsetptr) 00315 { 00316 int num; 00317 char c, c1; 00318 typespecset specset; 00319 00320 *specsetptr = NULL; 00321 if (!getnumber(sess, &num)) 00322 return false; 00323 00324 if (num == 0) 00325 return true; 00326 00327 while (num--) { 00328 c = pullc(sess); 00329 if ((c != SPANFLAG) && (c != VSPECFLAG)) 00330 return false; 00331 00332 /* mightn't work */ if ((c1 = pullc(sess)) != WORDELIM && c1 != '\n') 00333 return false; 00334 00335 if (c == SPANFLAG) { 00336 specset = (typespecset) new(sess) typespan; 00337 // specset = (typespecset) sess->alloc(sizeof(typespan)); 00338 if (!getspan(sess, (typespan *) specset, ISPANID)) 00339 return false; 00340 } else { 00341 specset = (typespecset) new(sess) typevspec; 00342 // specset = (typespecset) sess->alloc(sizeof(typevspec)); 00343 if (!getvspec(sess, (typevspec *) specset)) 00344 return false; 00345 } 00346 00347 *specsetptr = specset; 00348 specsetptr = (typespecset *) & ((typeitemheader *) specset)->next; 00349 } 00350 return true; 00351 } |
|
||||||||||||
|
??? (to be defined)
Definition at line 218 of file get2fe.cxx. References getnum(), pullc(), pushc(), and TUMDELIM. Referenced by gettumbler().
|
|
||||||||||||
|
??? (to be defined) Referenced by gettextset(). |
|
||||||||||||
|
??? (to be defined)
Definition at line 461 of file get2fe.cxx. References getnumber(), gettext(), typetext::next, NULL, and typetextset. Referenced by getinsert().
00462 : User's session context 00463 typetextset *textsetptr) 00464 { 00465 typetextset textset; 00466 int num; 00467 00468 /* fprintf (logfile, " textset"); fprintf (sess->errp, "X gettextset\n"); */ 00469 *textsetptr = NULL; 00470 if (!getnumber(sess, &num)) 00471 return false; 00472 00473 /* fprintf (sess->errp, "X number of texts is %d\n", num); fprintf (logfile, " {"); */ 00474 while (num--) { 00475 textset = (typetextset) new(sess) typetext; 00476 // textset = (typetextset) sess->alloc(sizeof(typetext)); 00477 if (!gettext(sess, textset)) 00478 return false; 00479 00480 *textsetptr = textset; 00481 textsetptr = &textset->next; 00482 } 00483 /* fprintf (logfile, " }"); */ 00484 return true; 00485 } |
|
||||||||||||
|
parse a tumbler value from the input stream (to be defined)
Definition at line 187 of file get2fe.cxx. References error(), Tumbler::exp, getnum(), gettdigit(), Tumbler::mantissa, NPLACES, pullc(), tumblerclear, and WORDELIM. Referenced by getclose(), getcopy(), getcreatelink(), getcreatenewversion(), getcreatenode_or_account(), getcutseq(), getdeletevspan(), getfindnextnlinksfromtothree(), getfollowlink(), getinsert(), getisa(), getopen(), getrearrange(), getretrievedocvspan(), getretrievedocvspanset(), getvsa(), getxaccount(), and showorgl().
00188 : User's session context 00189 Tumbler *tumblerptr) 00190 { 00191 char c; 00192 int i, num, value; 00193 00194 /* fprintf(sess->errp,"X gettumbler\n"); */ 00195 tumblerclear(tumblerptr); 00196 getnum(sess, &num); 00197 tumblerptr->exp = -num; 00198 00199 for (i = 0; gettdigit(sess, &value); i++) { 00200 if (i > NPLACES) { 00201 error(sess, "gettumbler overflow\n"); 00202 return false; 00203 } 00204 tumblerptr->mantissa[i] = value; 00205 } 00206 /* fprintf (logfile, " "); puttumbler (logfile, tumblerptr); */ 00207 return (c = pullc(sess)) == WORDELIM || c == '\n'; 00208 } |
|
||||||||||||
|
??? (to be defined) Referenced by getspecset(). |
|
|
??? (to be defined)
Definition at line 146 of file get2fe.cxx. References Session::charbuff, Session::charinbuff, febelog, frontenddied(), Session::inp, interfaceinput, L, logstuff, nulllog, user, and WORDELIM. Referenced by eatchar(), establishprotocol(), getnumber(), getrequest(), getspecset(), gettdigit(), and gettumbler().
00147 : User's session context
00148 {
00149 int temp;
00150
00151 if (sess->charinbuff) {
00152 sess->charinbuff = false;
00153 return sess->charbuff;
00154
00155 } else {
00156 temp = getc(sess->inp);
00157 if (temp == EOF) {
00158 L("EOF on user %d in pullc\n", user);
00159 frontenddied(); /* does longjmp in backenddaemon, exit in backend */
00160
00161 /* L("Premature end-of-file in backend\n"); diskexit (); // try to avoid screwing enf.enf //
00162 * assert(0); "pullc" */
00163 }
00164
00165 temp &= 0x7f;
00166 if (logstuff && interfaceinput && interfaceinput != nulllog) {
00167 if (temp == WORDELIM)
00168 putc('\n', interfaceinput);
00169 else
00170 putc(temp, interfaceinput);
00171 }
00172
00173 if (febelog && febelog != nulllog)
00174 putc(temp, febelog);
00175 return temp;
00176 }
00177 }
|
|
||||||||||||
|
??? (to be defined)
Definition at line 126 of file get2fe.cxx. References Session::charbuff, Session::charinbuff, and error(). Referenced by eatchar(), and gettdigit().
00127 : User's session context 00128 char c) 00129 { 00130 if (sess->charinbuff) 00131 error(sess, "charbuff occupied\n"); 00132 else { 00133 sess->charinbuff = true; 00134 sess->charbuff = c; 00135 } 00136 } |
|
||||||||||||
|
??? (to be defined)
Definition at line 587 of file get2fe.cxx. Referenced by getxaccount().
00588 : User's session context 00589 IStreamAddr *accountptr) 00590 { 00591 return true; 00592 } |
|
||||||||||||
|
??? (to be defined) Referenced by getrequest(). |
|
|
Definition at line 106 of file get2fe.cxx. |
|
|
Definition at line 105 of file get2fe.cxx. |
|
|
Definition at line 100 of file get2fe.cxx. |
|
|
Definition at line 104 of file get2fe.cxx. |
|
|
Definition at line 101 of file get2fe.cxx. |
|
|
Definition at line 102 of file get2fe.cxx. |
1.3.4