Mercurial > libavcodec.hg
comparison eval.c @ 1598:932d306bf1dc libavcodec
av_log() patch by (Michel Bardiaux <mbardiaux at peaktime dot be>)
| author | michael |
|---|---|
| date | Mon, 03 Nov 2003 13:26:22 +0000 |
| parents | 1e39f273ecd6 |
| children | 2152760d08ad |
comparison
equal
deleted
inserted
replaced
| 1597:4c9165372ab3 | 1598:932d306bf1dc |
|---|---|
| 59 | 59 |
| 60 static void evalExpression(Parser *p); | 60 static void evalExpression(Parser *p); |
| 61 | 61 |
| 62 static void push(Parser *p, double d){ | 62 static void push(Parser *p, double d){ |
| 63 if(p->stack_index+1>= STACK_SIZE){ | 63 if(p->stack_index+1>= STACK_SIZE){ |
| 64 fprintf(stderr, "stack overflow in the parser\n"); | 64 av_log(NULL, AV_LOG_ERROR, "stack overflow in the parser\n"); |
| 65 return; | 65 return; |
| 66 } | 66 } |
| 67 p->stack[ p->stack_index++ ]= d; | 67 p->stack[ p->stack_index++ ]= d; |
| 68 //printf("push %f\n", d); fflush(stdout); | 68 //printf("push %f\n", d); fflush(stdout); |
| 69 } | 69 } |
| 70 | 70 |
| 71 static double pop(Parser *p){ | 71 static double pop(Parser *p){ |
| 72 if(p->stack_index<=0){ | 72 if(p->stack_index<=0){ |
| 73 fprintf(stderr, "stack underflow in the parser\n"); | 73 av_log(NULL, AV_LOG_ERROR, "stack underflow in the parser\n"); |
| 74 return NAN; | 74 return NAN; |
| 75 } | 75 } |
| 76 //printf("pop\n"); fflush(stdout); | 76 //printf("pop\n"); fflush(stdout); |
| 77 return p->stack[ --p->stack_index ]; | 77 return p->stack[ --p->stack_index ]; |
| 78 } | 78 } |
| 107 } | 107 } |
| 108 } | 108 } |
| 109 | 109 |
| 110 p->s= strchr(p->s, '('); | 110 p->s= strchr(p->s, '('); |
| 111 if(p->s==NULL){ | 111 if(p->s==NULL){ |
| 112 fprintf(stderr, "Parser: missing ( in \"%s\"\n", next); | 112 av_log(NULL, AV_LOG_ERROR, "Parser: missing ( in \"%s\"\n", next); |
| 113 return; | 113 return; |
| 114 } | 114 } |
| 115 p->s++; // "(" | 115 p->s++; // "(" |
| 116 evalExpression(p); | 116 evalExpression(p); |
| 117 d= pop(p); | 117 d= pop(p); |
| 157 break; | 157 break; |
| 158 } | 158 } |
| 159 } | 159 } |
| 160 | 160 |
| 161 if(error){ | 161 if(error){ |
| 162 fprintf(stderr, "Parser: unknown function in \"%s\"\n", next); | 162 av_log(NULL, AV_LOG_ERROR, "Parser: unknown function in \"%s\"\n", next); |
| 163 return; | 163 return; |
| 164 } | 164 } |
| 165 } | 165 } |
| 166 | 166 |
| 167 if(p->s[-1]!= ')'){ | 167 if(p->s[-1]!= ')'){ |
| 168 fprintf(stderr, "Parser: missing ) in \"%s\"\n", next); | 168 av_log(NULL, AV_LOG_ERROR, "Parser: missing ) in \"%s\"\n", next); |
| 169 return; | 169 return; |
| 170 } | 170 } |
| 171 push(p, d); | 171 push(p, d); |
| 172 } | 172 } |
| 173 | 173 |
| 183 if(p->s[0]=='('){ | 183 if(p->s[0]=='('){ |
| 184 p->s++;; | 184 p->s++;; |
| 185 evalExpression(p); | 185 evalExpression(p); |
| 186 | 186 |
| 187 if(p->s[0]!=')') | 187 if(p->s[0]!=')') |
| 188 fprintf(stderr, "Parser: missing )\n"); | 188 av_log(NULL, AV_LOG_ERROR, "Parser: missing )\n"); |
| 189 p->s++; | 189 p->s++; |
| 190 }else{ | 190 }else{ |
| 191 evalPrimary(p); | 191 evalPrimary(p); |
| 192 } | 192 } |
| 193 | 193 |
