remove pic_make_str_fill
This commit is contained in:
		
							parent
							
								
									cbe5e81b28
								
							
						
					
					
						commit
						5635661b3c
					
				|  | @ -4,13 +4,16 @@ void | |||
| pic_str_set(pic_state *pic, pic_str *str, size_t i, char c) | ||||
| { | ||||
|   pic_str *x, *y, *z, *tmp; | ||||
|   char buf[1]; | ||||
| 
 | ||||
|   if (pic_str_len(str) <= i) { | ||||
|     pic_errorf(pic, "index out of range %d", i); | ||||
|   } | ||||
| 
 | ||||
|   buf[0] = c; | ||||
| 
 | ||||
|   x = pic_str_sub(pic, str, 0, i); | ||||
|   y = pic_make_str_fill(pic, 1, c); | ||||
|   y = pic_make_str(pic, buf, 1); | ||||
|   z = pic_str_sub(pic, str, i + 1, pic_str_len(str)); | ||||
| 
 | ||||
|   tmp = pic_str_cat(pic, x, pic_str_cat(pic, y, z)); | ||||
|  |  | |||
|  | @ -22,7 +22,6 @@ void pic_rope_decref(pic_state *, struct pic_rope *); | |||
| 
 | ||||
| pic_str *pic_make_str(pic_state *, const char * /* nullable */, size_t); | ||||
| pic_str *pic_make_str_cstr(pic_state *, const char *); | ||||
| pic_str *pic_make_str_fill(pic_state *, size_t, char); | ||||
| 
 | ||||
| char pic_str_ref(pic_state *, pic_str *, size_t); | ||||
| size_t pic_str_len(pic_str *); | ||||
|  |  | |||
|  | @ -240,25 +240,6 @@ pic_make_str_cstr(pic_state *pic, const char *cstr) | |||
|   return pic_make_str(pic, cstr, strlen(cstr)); | ||||
| } | ||||
| 
 | ||||
| pic_str * | ||||
| pic_make_str_fill(pic_state *pic, size_t len, char fill) | ||||
| { | ||||
|   size_t i; | ||||
|   char *buf = pic_malloc(pic, len); | ||||
|   pic_str *str; | ||||
| 
 | ||||
|   for (i = 0; i < len; ++i) { | ||||
|     buf[i] = fill; | ||||
|   } | ||||
|   buf[i] = '\0'; | ||||
| 
 | ||||
|   str = pic_make_str(pic, buf, len); | ||||
| 
 | ||||
|   pic_free(pic, buf); | ||||
| 
 | ||||
|   return str; | ||||
| } | ||||
| 
 | ||||
| size_t | ||||
| pic_str_len(pic_str *str) | ||||
| { | ||||
|  | @ -474,7 +455,16 @@ pic_str_make_string(pic_state *pic) | |||
| 
 | ||||
|   pic_get_args(pic, "k|c", &len, &c); | ||||
| 
 | ||||
|   return pic_obj_value(pic_make_str_fill(pic, len, c)); | ||||
|   { | ||||
|     size_t i; | ||||
|     char buf[len]; | ||||
| 
 | ||||
|     for (i = 0; i < len; ++i) { | ||||
|       buf[i] = c; | ||||
|     } | ||||
| 
 | ||||
|     return pic_obj_value(pic_make_str(pic, buf, len)); | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| static pic_value | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Yuichi Nishiwaki
						Yuichi Nishiwaki