Changeset 472f39 in git for Singular/silink.cc
- Timestamp:
- Jul 6, 1999, 3:35:34 PM (25 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- ce7ba606241efb95de4d1ab5581428b7143b3be2
- Parents:
- acfbb5a85f3eb92ffdb442a04348bd0186e1785b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/silink.cc
racfbb5a r472f39 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: silink.cc,v 1.2 7 1999-04-17 12:30:24Singular Exp $ */4 /* $Id: silink.cc,v 1.28 1999-07-06 13:35:33 Singular Exp $ */ 5 5 6 6 /* … … 389 389 } 390 390 391 leftv slReadAscii (si_link l)391 leftv slReadAscii2(si_link l, leftv pr) 392 392 { 393 393 FILE * fp=(FILE *)l->data; … … 415 415 #endif 416 416 { 417 //PrintS("? "); mflush(); 418 buf=(char *)AllocL(80); 419 fe_fgets_stdin("? ",buf,80); 417 if (pr->Typ()==STRING_CMD) 418 { 419 buf=(char *)AllocL(80); 420 fe_fgets_stdin(pr->Data(),buf,80); 421 } 422 else 423 { 424 WerrorS("read(<link>,<string>) expected"); 425 buf=mstrdup(""); 426 } 420 427 } 421 428 } … … 425 432 return v; 426 433 } 434 435 leftv slReadAscii(si_link l) 436 { 437 sleftv tmp; 438 memset(&tmp,0,sizeof(sleftv)); 439 tmp.rtyp=STRING_CMD; 440 tmp.data="? "; 441 return slReadAscii2(l,&tmp); 442 } 443 427 444 BOOLEAN slWriteAscii(si_link l, leftv v) 428 445 { … … 524 541 char *rhs; 525 542 rSetHdl(rhdl, TRUE); 526 rhs = ((leftv) h)->String();543 rhs = h->String(); 527 544 528 545 #ifdef HAVE_NAMESPACES 529 if (fprintf(fd, "setring %s::%s;\n", 546 if (fprintf(fd, "setring %s::%s;\n", 530 547 namespaceroot->name, IDID(rhdl)) == EOF) return TRUE; 531 if (fprintf(fd, "%s %s::%s = %s, %s;\n", Tok2Cmdname(MAP_CMD), 548 if (fprintf(fd, "%s %s::%s = %s, %s;\n", Tok2Cmdname(MAP_CMD), 532 549 namespaceroot->name, IDID(h), 533 550 IDMAP(h)->preimage, rhs) == EOF) … … 555 572 idtyp type_id = IDTYP(h); 556 573 557 if (type_id == PACKAGE_CMD && strcmp(IDID(h), "Top") == 0) return FALSE; 558 574 #ifdef HAVE_NAMESPACES 575 if ((type_id == PACKAGE_CMD) &&(strcmp(IDID(h), "Top") == 0)) 576 return FALSE; 577 #endif 578 559 579 // we do not throw an error if a wrong type was attempted to be dumped 560 if (type_str == NULL) return FALSE; 580 if (type_str == NULL) 581 return FALSE; 561 582 562 583 // handle qrings separately 563 if (type_id == QRING_CMD) return DumpQring(fd, h, type_str); 584 if (type_id == QRING_CMD) 585 return DumpQring(fd, h, type_str); 564 586 565 587 // do not dump LIB string 566 588 if (type_id == STRING_CMD && strcmp("LIB", IDID(h)) == 0) 567 {568 589 return FALSE; 569 } 570 590 591 // put type and name 571 592 #ifdef HAVE_NAMESPACES 572 // put type and name573 if (fprintf(fd, "%s %s::%s", type_str, namespaceroot->name, IDID(h)) == EOF) return TRUE;593 if (fprintf(fd, "%s %s::%s", type_str, namespaceroot->name, IDID(h)) == EOF) 594 return TRUE; 574 595 #else 575 // put type and name576 if (fprintf(fd, "%s %s", type_str, IDID(h)) == EOF)return TRUE;596 if (fprintf(fd, "%s %s", type_str, IDID(h)) == EOF) 597 return TRUE; 577 598 #endif 578 599 // for matricies, append the dimension … … 588 609 } 589 610 590 if (type_id == PACKAGE_CMD) { 611 #ifdef HAVE_NAMESPACES 612 if (type_id == PACKAGE_CMD) 613 { 591 614 if (fprintf(fd, ";\n") == EOF) return TRUE; 592 615 else return FALSE; 593 616 } 594 617 #endif 618 595 619 // write the equal sign 596 620 if (fprintf(fd, " = ") == EOF) return TRUE; … … 648 672 static BOOLEAN DumpQring(FILE *fd, idhdl h, char *type_str) 649 673 { 650 char *ring_str = ((leftv) h)->String();674 char *ring_str = h->String(); 651 675 if (fprintf(fd, "%s temp_ring = %s;\n", Tok2Cmdname(RING_CMD), ring_str) 652 676 == EOF) return TRUE; … … 656 680 if (fprintf(fd, "attrib(temp_ideal, \"isSB\", 1);\n") == EOF) return TRUE; 657 681 #ifdef HAVE_NAMESPACES 658 if (fprintf(fd, "%s %s::%s = temp_ideal;\n", 682 if (fprintf(fd, "%s %s::%s = temp_ideal;\n", 659 683 type_str, namespaceroot->name, IDID(h)) == EOF) 660 684 #else … … 722 746 else 723 747 { 724 char *rhs = ((leftv) h)->String();748 char *rhs = h->String(); 725 749 726 750 if (rhs == NULL) return EOF; … … 796 820 si_link_root->Kill=slCloseAscii; 797 821 si_link_root->Read=slReadAscii; 822 si_link_root->Read2=slReadAscii2; 798 823 si_link_root->Write=slWriteAscii; 799 824 si_link_root->Dump=slDumpAscii;
Note: See TracChangeset
for help on using the changeset viewer.