github.com/Konstantin8105/c4go@v0.0.0-20240505174241-768bb1c65a51/tests/code_quality/function.c (about)

     1  static char *sstr_s;
     2  char sstr_bufs[10];
     3  int sstr_n;
     4  
     5  char *sstr_pop(void)
     6  {
     7  	char *ret = sstr_s;
     8  	sstr_s = &sstr_bufs[--sstr_n];
     9  	return ret;
    10  }
    11  
    12  int sstr_next(void)
    13  {
    14  	return *sstr_s ? (unsigned char) *sstr_s++ : -1;
    15  }
    16  
    17  void sstr_back(int c)
    18  {
    19  	sstr_s--;
    20  }
    21  
    22  int sf1() {
    23  	sstr_n++;
    24  	return *sstr_s == sstr_bufs[sstr_n] ? 1: 0;
    25  }
    26  
    27  int st2() {
    28  	sstr_n++;
    29  	int s = *sstr_s == sstr_bufs[sstr_n] ? 1: 0;
    30  	sstr_n--;
    31  	return s;
    32  }
    33  
    34  int st2a() {
    35  	sstr_n++;
    36  	int s;
    37  	s = *sstr_s == sstr_bufs[sstr_n] ? 1: 0;
    38  	sstr_n--;
    39  	return s;
    40  }
    41  
    42  int st3() {
    43  	sstr_n++;
    44  	int s = (*sstr_s == sstr_bufs[sstr_n] ? sstr_n+1: sstr_n-1);
    45  	sstr_n--;
    46  	return s;
    47  }
    48  
    49  int st4() {
    50  	return (*sstr_s == sstr_bufs[sstr_n] ? sstr_n+1: sstr_n-1);
    51  }