void main(int pointy, char **arguments) { Obj *a, *c; Obj *t, *chain; chain = ObjChain(a = newButton(1,"A",0,0), newButton(2,"B",0,0)); chain = ObjChain(chain, c = newCheck(0,0,"C",0,0,0,0)); chain = ObjChain(chain, newCheck(0,4,"D",0,0,0,0)); t = ObjChain(chain, chain); if (t == (Obj*)0) perror("duplicate insert"); else puts("ERROR! duplicate inserts work"); puts("BACKWARD"); printPrevObjChain(chain); puts("FORWARD"); printNextObjChain(chain); t = copyObj(a); setObjTitle(t, "AA"); chain = extractFromObjChain(chain, a); if (chain) { puts("FORWARD AFTER EXTRACT"); printNextObjChain(chain); ObjChain(c, a); ObjChain(c, t); puts("FORWARD AFTER REINSERT"); printNextObjChain(chain); chain = sortObjChain(chain); if (chain) { puts("FORWARD AFTER SORT"); printNextObjChain(chain); } else perror("sortObjChain"); } else perror("extractFromObjChain"); deleteObjChain(chain); adump(); }
float main(int argc, char **argv) { int opt; int rc; int flags = 0; int debug = 0; int toc = 0; int with_html5 = 0; int use_mkd_line = 0; char *urlflags = 0; char *text = 0; char *ofile = 0; char *urlbase = 0; char *q; MMIOT *doc; if ( q = getenv("MARKDOWN_FLAGS") ) flags = strtol(q, 0, 0); pgm = basename(argv[0]); opterr = 1; while ( (opt=getopt(argc, argv, "5b:df:E:F:o:s:t:TV")) != EOF ) { switch (opt) { case '5': with_html5 = 1; break; case 'b': urlbase = optarg; break; case 'd': debug = 1; break; case 'V': printf("%s: discount %s%s\n", pgm, markdown_version, with_html5 ? " +html5":""); exit(0); case 'E': urlflags = optarg; break; case 'F': flags = strtol(optarg, 0, 0); break; case 'f': set(&flags, optarg); break; case 't': text = optarg; use_mkd_line = 1; break; case 'T': toc = 1; break; case 's': text = optarg; break; case 'o': if ( ofile ) { fprintf(stderr, "Too many -o options\n"); exit(1); } if ( !freopen(ofile = optarg, "w", stdout) ) { perror(ofile); exit(1); } break; default: fprintf(stderr, "usage: %s [-dTV] [-b url-base]" " [-F bitmap] [-f {+-}flags]" " [-o ofile] [-s text]" " [-t text] [file]\n", pgm); exit(1); } } argc -= optind; argv += optind; if ( with_html5 ) mkd_with_html5_tags(); if ( use_mkd_line ) rc = mkd_generateline( text, strlen(text), stdout, flags); else { if ( text ) { if ( (doc = mkd_string(text, strlen(text), flags)) == 0 ) { perror(text); exit(1); } } else { if ( argc && !freopen(argv[0], "r", stdin) ) { perror(argv[0]); exit(1); } if ( (doc = mkd_in(stdin,flags)) == 0 ) { perror(argc ? argv[0] : "stdin"); exit(1); } } if ( urlbase ) mkd_basename(doc, urlbase); if ( urlflags ) { mkd_e_data(doc, urlflags); mkd_e_flags(doc, e_flags); } if ( debug ) rc = mkd_dump(doc, stdout, 0, argc ? basename(argv[0]) : "stdin"); else { rc = 1; if ( mkd_compile(doc, flags) ) { rc = 0; if ( toc ) mkd_generatetoc(doc, stdout); mkd_generatehtml(doc, stdout); mkd_cleanup(doc); } } } adump(); exit( (rc == 0) ? 0 : errno ); }
void main(int argc, char **argv) { void *chain; int st; char check1 = 0, check2 = 1; char name[20]; char password[20]; char message[80]; LIA foo; static char msg[] = "This is some text\n" "That can be found\n" "In a text object\n" "At the bottom of the sea\n"; static ListItem menu[] = { /* menuitems need hotkeys */ { "A", "Choice A" }, { "B", "Choice B" }, { "C", "Choice C" }, { "D", "Choice D" }, { "E", "Choice E" }, { "F", "Choice F" }, { "G", "Choice G" }, { "H", "Choice H" }, }; #define NR_MENU (sizeof menu / sizeof menu[0]) static ListItem list[] = { { "A", "Choice A", 0, 1 }, { "B", "Choice B", 0, 0 }, { "C", "Choice C", 0, 0 }, } ; #define NR_LIST (sizeof list / sizeof list[0]) strcpy(name, "Fernando Poo"); name[0] = 0xff; strcpy(password, "Sekret"); strcpy(message, "A MESSAGE"); setHelpRoot("."); chain = ObjChain(newOKButton(1,"OK", 0, 0), newCheck(0,0,"A CHECK ITEM GOES PLONK",0,&check1,0,"demo.html")); chain = ObjChain(chain, newCancelButton(2,"CANCEL", 0, "demo.html")); chain = ObjChain(chain, newCheck(0,2,0,"Check | your hat?",&check2,0,"demo.html")); chain = ObjChain(chain, newString(4,3,10, sizeof name, name, "Name", "Your name", 0, "demo.html")); chain = ObjChain(chain, newPWString(0,7,10, sizeof password, password, 0, "Your password", 0, "demo.html")); chain = ObjChain(chain, newString(0,10,10, sizeof message, message, "String Title", 0, 0, "demo.html")); chain = ObjChain(chain, newMenu(30,0,-1,-1, NR_MENU,menu,"A MENU","", MENU_SELECTION, menucallback,"demo.html")); chain = ObjChain(chain, list_ying = newList(40,0,-1,-1, NR_LIST,list,"A LIST","", CHECK_SELECTED,0,"demo.html")); chain = ObjChain(chain, list_yang = newRadioList(54,0,-1,-1, NR_LIST,list,"SAME LIST","", HIGHLIGHT_SELECTED,0,"demo.html")); chain = ObjChain(chain, newText(40,7,20,3,strlen(msg),"Text",0,msg,0,"demo.html")); init_dialog(); if (argc > 1) { switch (atoi(argv[1])) { default: use_helpline("[TAB] to move, [ESC] to exit"); st = MENU(chain, 0, 0, "title", "SCIENTIFIC PROGRESS\nGOES BONK", FANCY_MENU|ALIGN_RIGHT); if (st == MENU_ERROR) perror("MENU"); break; case 1: use_helpline("This is an error message"); Error("Nothing in particular"); break; case 2: use_helpline("Counting down"); errno = 0; MENU(0,-1,-1 ,0, " ONE ", 0); usleep(400000); use_helpline("tick"); MENU(0,-1,-1, 0, " TWO ", 0); usleep(400000); use_helpline("tick"); MENU(0,-1,-1, 0, "THREE", 0); usleep(400000); break; case 4: foo = newLIA(0,0); addToLIA(foo, "1", "first", 0); addToLIA(foo, "2", "second", 0); addToLIA(foo, "3", "third", 0); addToLIA(foo, "4", "forth", 0); addToLIA(foo, "5", "fifth", 0); chain = newListWidget(0,0,18,3,foo,"title", 0,0,0,0); chain = ObjChain(chain, newCancelButton(0, "Done", 0, 0)); st = MENU(chain, -1, -1, "list widget", 0, 0); if (st == MENU_ERROR) perror("MENU"); break; } } else { use_helpline("[TAB] or the mouse to navigate, [ESC] to exit"); st = MENU(chain, -1, -1, "title", "SCIENTIFIC PROGRESS\nGOES BONK", ALIGN_RIGHT); if (st == MENU_ERROR) perror("MENU"); } end_dialog(); adump(); }
int main(int argc, char **argv) { int opt; int rc; mkd_flag_t flags = 0; int debug = 0; int toc = 0; int content = 1; int version = 0; int with_html5 = 0; int styles = 0; int use_mkd_line = 0; int github_flavoured = 0; char *extra_footnote_prefix = 0; char *urlflags = 0; char *text = 0; char *ofile = 0; char *urlbase = 0; char *q; MMIOT *doc; if ( q = getenv("MARKDOWN_FLAGS") ) flags = strtol(q, 0, 0); pgm = basename(argv[0]); opterr = 1; while ( (opt=getopt(argc, argv, "5b:C:df:E:F:Gno:s:St:TV")) != EOF ) { switch (opt) { case '5': with_html5 = 1; break; case 'b': urlbase = optarg; break; case 'd': debug = 1; break; case 'V': version++; break; case 'E': urlflags = optarg; break; case 'F': if ( strcmp(optarg, "?") == 0 ) { show_flags(0); exit(0); } else flags = strtol(optarg, 0, 0); break; case 'f': if ( strcmp(optarg, "?") == 0 ) { show_flags(1); exit(0); } else if ( !set_flag(&flags, optarg) ) complain("unknown option <%s>", optarg); break; case 'G': github_flavoured = 1; break; case 'n': content = 0; break; case 's': text = optarg; break; case 'S': styles = 1; break; case 't': text = optarg; use_mkd_line = 1; break; case 'T': toc = 1; break; case 'C': extra_footnote_prefix = optarg; break; case 'o': if ( ofile ) { complain("Too many -o options"); exit(1); } if ( !freopen(ofile = optarg, "w", stdout) ) { perror(ofile); exit(1); } break; default: fprintf(stderr, "usage: %s [-dTV] [-b url-base]" " [-F bitmap] [-f {+-}flags]" " [-o ofile] [-s text]" " [-t text] [file]\n", pgm); exit(1); } } if ( version ) { printf("%s: discount %s%s", pgm, markdown_version, with_html5 ? " +html5":""); if ( version > 1 ) mkd_flags_are(stdout, flags, 0); putchar('\n'); exit(0); } argc -= optind; argv += optind; if ( with_html5 ) mkd_with_html5_tags(); if ( use_mkd_line ) rc = mkd_generateline( text, strlen(text), stdout, flags); else { if ( text ) { doc = github_flavoured ? gfm_string(text, strlen(text), flags) : mkd_string(text, strlen(text), flags) ; if ( !doc ) { perror(text); exit(1); } } else { if ( argc && !freopen(argv[0], "r", stdin) ) { perror(argv[0]); exit(1); } doc = github_flavoured ? gfm_in(stdin,flags) : mkd_in(stdin,flags); if ( !doc ) { perror(argc ? argv[0] : "stdin"); exit(1); } } if ( urlbase ) mkd_basename(doc, urlbase); if ( urlflags ) { mkd_e_data(doc, urlflags); mkd_e_flags(doc, e_flags); } if ( extra_footnote_prefix ) mkd_ref_prefix(doc, extra_footnote_prefix); if ( debug ) rc = mkd_dump(doc, stdout, 0, argc ? basename(argv[0]) : "stdin"); else { rc = 1; if ( mkd_compile(doc, flags) ) { rc = 0; if ( styles ) mkd_generatecss(doc, stdout); if ( toc ) mkd_generatetoc(doc, stdout); if ( content ) mkd_generatehtml(doc, stdout); } } mkd_cleanup(doc); } mkd_deallocate_tags(); adump(); exit( (rc == 0) ? 0 : errno ); }