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