Subversion Repositories Kolibri OS

Rev

Rev 4719 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. //you are butifull, you are butifull
  2. dword ShowSource()
  3. {
  4.         dword new_buf, new_buf_start, i;
  5.         byte ww, param, comment;
  6.  
  7.         if (souce_mode) return;
  8.         souce_mode = true;
  9.         new_buf_start = new_buf = malloc(bufsize*5);
  10.         strcat(new_buf, "<pre>");
  11.         for (i=bufpointer; i<bufpointer+bufsize; i++)
  12.         {
  13.                 ww = ESBYTE[i];
  14.                 new_buf++;
  15.                 switch (ww)
  16.                 {
  17.                         case '<':
  18.                                 if (ESBYTE[i+1]=='!') && (ESBYTE[i+2]=='-') && (ESBYTE[i+3]=='-')
  19.                                 {
  20.                                         strcat(new_buf, "<font color=#ccc>&lt;");
  21.                                         new_buf+=20;
  22.                                 }
  23.                                 else
  24.                                 {
  25.                                         strcat(new_buf, "<font color=#00f>&lt;");
  26.                                         new_buf+=20;                                   
  27.                                 }
  28.                                 break;
  29.                         case '>':
  30.                                 if (!param) //fix non-closed quote
  31.                                 {
  32.                                         param = 1;
  33.                                         strcat(new_buf, "&quot;</font>");
  34.                                         new_buf+=12;                                   
  35.                                 }
  36.                                 if (ESBYTE[i-1]=='-') && (ESBYTE[i-2]=='-')
  37.                                 {
  38.                                         strcat(new_buf, "&gt;</font>");
  39.                                         new_buf+=10;
  40.                                 }
  41.                                 else
  42.                                 {
  43.                                         strcat(new_buf, "&gt;</font>");
  44.                                         new_buf+=10;                                   
  45.                                 }
  46.                                 break;
  47.                         case '\"':
  48.                         case '\'':
  49.                                 if (param)
  50.                                 {
  51.                                         param = 0;
  52.                                         strcat(new_buf, "<font color=#f0f>&quot;");
  53.                                         new_buf+=22;
  54.                                 }
  55.                                 else
  56.                                 {
  57.                                         param = 1;
  58.                                         strcat(new_buf, "&quot;</font>");
  59.                                         new_buf+=12;
  60.                                 }
  61.                                 break;
  62.                         default:
  63.                                 chrcat(new_buf, ww);
  64.                 }
  65.         }
  66.         bufsize = new_buf;
  67.         free(bufpointer);
  68.         bufpointer = new_buf_start;
  69. }