Advertisement
bueddl

Untitled

Apr 9th, 2016
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.68 KB | None | 0 0
  1.  
  2. int _expand_format_str(char *restrict buffer, const char *restrict format)
  3. {
  4.     const char *fpos;
  5.     char *bpos;
  6.     int is_bold = 0;
  7.     int len = strlen(format)+20;
  8.    
  9.     if (!buffer)
  10.         return len;
  11.    
  12.     for (fpos = format, bpos = buffer; *fpos != '\0'; ++fpos)
  13.     {
  14.         switch (*fpos)
  15.         {
  16.             case '*':
  17.                 if (!is_bold)
  18.                 {
  19.                     *bpos++ = 0x1b;
  20.                     *bpos++ = 0x5b;
  21.                     *bpos++ = 0x31;
  22.                     *bpos++ = 0x6d;
  23.                 } else
  24.                 {
  25.                     *bpos++ = 0x1b;
  26.                     *bpos++ = 0x28;
  27.                     *bpos++ = 0x42;
  28.                     *bpos++ = 0x1b;
  29.                     *bpos++ = 0x5b;
  30.                     *bpos++ = 0x6d;
  31.                 }
  32.                 is_bold = !is_bold;
  33.                 break;
  34.                
  35.             default:
  36.                 *bpos = *fpos;
  37.                 bpos++;
  38.                 break;
  39.         }
  40.     }
  41.  
  42.     return len;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement