{"id":44,"date":"2014-02-12T20:57:12","date_gmt":"2014-02-12T18:57:12","guid":{"rendered":"https:\/\/moijari.com\/?p=44"},"modified":"2019-11-22T17:02:32","modified_gmt":"2019-11-22T15:02:32","slug":"44","status":"publish","type":"post","link":"https:\/\/moijari.com\/?p=44","title":{"rendered":"Terttu pasianssi jatkuu"},"content":{"rendered":"<p>Olen jatkanut Tertun koodaamista, ja pasianssi n\u00e4ytt\u00e4isi viel\u00e4 menev\u00e4n l\u00e4pi. Olen miettinyt ohjelman sorsien julkaisemista, ja aloitankin   laittamalla t\u00e4h\u00e4n valittuja paloja&#8230; Seuraava on osa p\u00e4\u00e4ohjelmaa.   Varsinainen ydin ei seuraavassa viel\u00e4 n\u00e4y (vuodelta 1998). Lis\u00e4ilen   koodia, jos p\u00e4\u00e4t\u00e4n jatkaa julkaisua..<\/p>\n<p>Kaikki oikeudet tietenkin pid\u00e4tet\u00e4\u00e4n.<\/p>\n<p>Viimeinen versio ohjelmasta l\u00f6ytyy seuraavasta linkist\u00e4: <a href=\"https:\/\/moijari.com:5002\">moijari.com:5002<\/a><\/p>\n<p><!-- PRE { font-family: \"Liberation Serif\",serif; }P { margin-bottom: 0.21cm; } --><\/p>\n<pre><!-- PRE { font-family: \"Liberation Serif\",serif; }P { margin-bottom: 0.21cm; } -->\r\n<pre>#include &lt;stdarg.h&gt;\r\n\r\n<!-- PRE { font-family: \"Liberation Serif\",serif; }P { margin-bottom: 0.21cm; } -->struct htmlrepl { \/* JariK 20140202 *\/\r\n  unsigned char *orig;\r\n  unsigned char *new;\r\n} htmlrepls[] ={\r\n  \/* 0xc3+0x80- \u00c0\u00c1\u00c2\u00c3\u00c4\u00c5\u00c6\u00c7\u00c8\u00c9\u00ca\u00cb\u00cc\u00cd\u00ce\u00cf\u00d0\u00d1\u00d2\u00d3\u00d4\u00d5\u00d6\u00d7\u00d8\u00d9\u00da\u00db\u00dc\u00dd\u00de\u00df\u00e0\u00e1\u00e2\u00e3\u00e4\u00e5\u00e6\u00e7\u00e8\u00e9\u00ea\u00eb\u00ec\u00ed\u00ee\u00ef\u00f0\u00f1\u00f2\u00f3\u00f4\u00f5\u00f6\u00f7\u00f8\u00f9\u00fa\u00fb\u00fc\u00fd\u00fe\u00ff *\/\r\n  \"\u00c0\",\"&amp;Agrave;\",  \"\u00c1\",\"&amp;Aacute;\",  \"\u00c2\",\"&amp;Acirc;\",  \"\u00c3\",\"&amp;Atilde;\",  \"\u00c4\",\"&amp;Auml;\",\r\n  \"\u00c5\",\"&amp;Aring;\",\r\n  \"\u00c8\",\"&amp;Egrave;\",  \"\u00c9\",\"&amp;Eacute;\",  \"\u00ca\",\"&amp;Ecirc;\",                   \"\u00cb\",\"&amp;Euml;\",\r\n  \"\u00cc\",\"&amp;Igrave;\",  \"\u00cd\",\"&amp;Iacute;\",  \"\u00ce\",\"&amp;Icirc;\",                   \"\u00cf\",\"&amp;Iuml;\",\r\n  \"\u00d2\",\"&amp;Ograve;\",  \"\u00d3\",\"&amp;Oacute;\",  \"\u00d4\",\"&amp;Ocirc;\",  \"\u00d5\",\"&amp;Otilde;\",  \"\u00d6\",\"&amp;Ouml;\",\r\n  \"\u00d9\",\"&amp;Ugrave;\",  \"\u00da\",\"&amp;Uacute;\",  \"\u00db\",\"&amp;Ucirc;\",                   \"\u00dc\",\"&amp;Uuml;\",\r\n                   \"\u00dd\",\"&amp;Yacute;\",                                   \"\u0178\",\"&amp;Yuml;\",\r\n  \"\u00e0\",\"&amp;agrave;\",  \"\u00e1\",\"&amp;aacute;\",  \"\u00e2\",\"&amp;acirc;\",  \"\u00e3\",\"&amp;atilde;\",  \"\u00e4\",\"&amp;auml;\",\r\n  \"\u00e5\",\"&amp;aring;\",\r\n  \"\u00e8\",\"&amp;egrave;\",  \"\u00e9\",\"&amp;eacute;\",  \"\u00ea\",\"&amp;ecirc;\",                   \"\u00eb\",\"&amp;euml;\",\r\n  \"\u00ec\",\"&amp;igrave;\",  \"\u00ed\",\"&amp;iacute;\",  \"\u00ee\",\"&amp;icirc;\",                   \"\u00ef\",\"&amp;iuml;\",\r\n  \"\u00f2\",\"&amp;ograve;\",  \"\u00f3\",\"&amp;oacute;\",  \"\u00f4\",\"&amp;ocirc;\",  \"\u00f5\",\"&amp;otilde;\",  \"\u00f6\",\"&amp;ouml;\",\r\n  \"\u00f9\",\"&amp;ugrave;\",  \"\u00fa\",\"&amp;uacute;\",  \"\u00fb\",\"&amp;ucirc;\",                   \"\u00fc\",\"&amp;uuml;\",\r\n                   \"\u00fd\",\"&amp;yacute;\",                                   \"\u00ff\",\"&amp;yuml;\",\r\n};\r\n\r\nunsigned char html1[8192],html2[8192],*html;\r\n\r\nvoid html_printf(const char *format, ...)\r\n{\r\n  int c,done;\r\n  va_list args;\r\n  unsigned char buffer[128],string[10],*b,*h;\r\n\r\n  va_start(args, format);\r\n  vsnprintf(buffer, sizeof buffer, format, args);\r\n  va_end(args);\r\n\r\n  b=buffer;\r\n  h=html+strlen(html);\r\n\r\n  while(*b!='\\0') {\r\n    done=0;\r\n    if(*b==0xc3) {\r\n      for(c=0;c&lt;sizeof(htmlrepls)\/sizeof(htmlrepls[0]);c++) {\r\n\tif(!strncmp(b,htmlrepls[c].orig,strlen(htmlrepls[c].orig))) {\r\n\t  strcpy(h,htmlrepls[c].new);\r\n\t  h+=strlen(h);\r\n\t  b+=strlen(htmlrepls[c].orig);\r\n\t  done=1;\r\n\t}\r\n      }\r\n    }\r\n    if(!done) {\r\n      *h++=*b++;\r\n      *h='\\0';\r\n    }\r\n  }\r\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Olen jatkanut Tertun koodaamista, ja pasianssi n\u00e4ytt\u00e4isi viel\u00e4 menev\u00e4n l\u00e4pi. Olen miettinyt ohjelman sorsien julkaisemista, ja aloitankin laittamalla t\u00e4h\u00e4n valittuja paloja&#8230; Seuraava on osa p\u00e4\u00e4ohjelmaa. Varsinainen ydin ei seuraavassa viel\u00e4 n\u00e4y (vuodelta 1998). Lis\u00e4ilen koodia, jos p\u00e4\u00e4t\u00e4n jatkaa julkaisua.. Kaikki oikeudet tietenkin pid\u00e4tet\u00e4\u00e4n. Viimeinen versio ohjelmasta l\u00f6ytyy seuraavasta linkist\u00e4: moijari.com:5002 #include &lt;stdarg.h&gt; struct htmlrepl {&hellip; <a class=\"more-link\" href=\"https:\/\/moijari.com\/?p=44\">Continue reading <span class=\"screen-reader-text\">Terttu pasianssi jatkuu<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[],"_links":{"self":[{"href":"https:\/\/moijari.com\/index.php?rest_route=\/wp\/v2\/posts\/44"}],"collection":[{"href":"https:\/\/moijari.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/moijari.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/moijari.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/moijari.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=44"}],"version-history":[{"count":14,"href":"https:\/\/moijari.com\/index.php?rest_route=\/wp\/v2\/posts\/44\/revisions"}],"predecessor-version":[{"id":622,"href":"https:\/\/moijari.com\/index.php?rest_route=\/wp\/v2\/posts\/44\/revisions\/622"}],"wp:attachment":[{"href":"https:\/\/moijari.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=44"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/moijari.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=44"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/moijari.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=44"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}