[bugfix] support 'I' format in pic_get_args
This commit is contained in:
		
							parent
							
								
									d3df6dcbf2
								
							
						
					
					
						commit
						350f4d1abd
					
				
							
								
								
									
										23
									
								
								src/vm.c
								
								
								
								
							
							
						
						
									
										23
									
								
								src/vm.c
								
								
								
								
							|  | @ -81,6 +81,29 @@ pic_get_args(pic_state *pic, const char *format, ...) | ||||||
| 	} | 	} | ||||||
|       } |       } | ||||||
|       break; |       break; | ||||||
|  |     case 'I': | ||||||
|  |       { | ||||||
|  | 	int *k; | ||||||
|  | 	bool *e; | ||||||
|  | 
 | ||||||
|  | 	k = va_arg(ap, int *); | ||||||
|  | 	e = va_arg(ap, bool *); | ||||||
|  | 	if (i < argc) { | ||||||
|  | 	  pic_value v; | ||||||
|  | 
 | ||||||
|  | 	  v = GET_OPERAND(pic, i); | ||||||
|  | 	  if (pic_type(v) == PIC_TT_FLOAT) { | ||||||
|  | 	    *k = (int)pic_float(v); | ||||||
|  | 	    *e = false; | ||||||
|  | 	  } | ||||||
|  | 	  else { | ||||||
|  | 	    *k = pic_int(v); | ||||||
|  | 	    *e = true; | ||||||
|  | 	  } | ||||||
|  | 	  i++; | ||||||
|  | 	} | ||||||
|  |       } | ||||||
|  |       break; | ||||||
|     case 's': |     case 's': | ||||||
|       { |       { | ||||||
| 	pic_value str; | 	pic_value str; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Yuichi Nishiwaki
						Yuichi Nishiwaki