rem: switch ((enum glgfx_bitmap_tag) tag->tag) {
add: switch ((enum glgfx_bitmap_attr) tag->tag) {
context: struct glgfx_bitmap* glgfx_bitmap_create_a(struct glgfx_tagitem const* tags) {  struct glgfx_bitmap* bitmap;  int width = 0, height = 0, bits = 0;  struct glgfx_bitmap* friend = NULL;  enum glgfx_pixel_format format = glgfx_pixel_format_unknown;    struct glgfx_tagitem const* tag;  if (tags == NULL) {    return false;  }  while ((tag = glgfx_nexttagitem(&tags)) != NULL) {    switch ((enum glgfx_bitmap_tag) tag->tag) {            case glgfx_bitmap_tag_width:	width = tag->data;	break;      case glgfx_bitmap_tag_height:	height = tag->data;	break;      case glgfx_bitmap_tag_bits:	bits = tag->data;	break;      case glgfx_bitmap_tag_friend:	friend = (struct glgfx_bitmap*) tag->data;	break;      case glgfx_bitmap_tag_format:	format = tag->data;	break;      case glgfx_bitmap_tag_x:      case glgfx_bitmap_tag_y:      case glgfx_bitmap_tag_data:      case glgfx_bitmap_tag_bytesperrow:      case glgfx_bitmap_tag_unknown:      case glgfx_bitmap_tag_max:	/* Make compiler happy */	break;    }  }    format = select_format(bits, friend, format);  if (width <= 0 || height <= 0 || format == glgfx_pixel_format_unknown) {    return NULL;  }  bitmap = calloc(1, sizeof *bitmap);  if (bitmap == NULL) {    return NULL;  }  pthread_mutex_lock(&glgfx_mutex);    bitmap->width             = width;  bitmap->height            = height;  bitmap->bits              = bits;  bitmap->format            = format;  bitmap->pbo_size          = glgfx_texture_size(width, height, bitmap->format);  bitmap->pbo_bytes_per_row = glgfx_texture_size(width, 1, bitmap->format);  glGenTextures(1, &bitmap->texture);  GLGFX_CHECKERROR();  glBindTexture(GL_TEXTURE_RECTANGLE_ARB, bitmap->texture);  GLGFX_CHECKERROR();  glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0,	       formats[bitmap->format].internal_format,	       width, height, 0,	       formats[bitmap->format].format,	       formats[bitmap->format].type,	       NULL);  GLGFX_CHECKERROR();/*   glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); *//*   glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); *//*   glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_NEAREST); *//*   glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, GL_NEAREST); */  glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER);  glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER);  glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_LINEAR);  glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, GL_LINEAR);//  glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);    glEnable(GL_TEXTURE_RECTANGLE_ARB);  GLGFX_CHECKERROR();  bitmap->has_changed = true;  pthread_mutex_unlock(&glgfx_mutex);  return bitmap;}