Exemple #1
0
void draw_thread(void *arg)
{
  struct vfd_ioctl_data *data;
  struct vfd_ioctl_data draw_data;
  unsigned char buf[17];
  int count = 0;
  int pos = 0;


  data = (struct vfd_ioctl_data *)arg;

  draw_data.length = data->length;
  memset(draw_data.data, 0, sizeof(draw_data.data));
  memcpy(draw_data.data,data->data,data->length);

  thread_stop = 0;

  count = utf8_len(&draw_data.data[0], draw_data.length);

  if(count > mode_digit)
  {
    while(pos < draw_data.length)
    {
       if(kthread_should_stop())
       {
    	   thread_stop = 1;
    	   return;
       }

       clear_display();
       memset(buf,0, sizeof(buf));
       int countb = utf8_count(&draw_data.data[pos], draw_data.length - pos, 8);
       memcpy(buf, &draw_data.data[pos], countb);
       YWPANEL_VFD_ShowString(buf);
       msleep(200);
       if (draw_data.data[pos] > 128)
       {
           pos += 2;
       } else {
           pos += 1;
       }
    }
  }

  if(count > 0)
  {
      clear_display();
      memset(buf,0, sizeof(buf));
      int countb = utf8_count(&draw_data.data[0], draw_data.length, 8);
      memcpy(buf, draw_data.data, countb);
      YWPANEL_VFD_ShowString(buf);
  }
  else VFD_clr();

  thread_stop = 1;
}
Exemple #2
0
int main(int count, char * arguments []) {
      printf("sizeof PointyInt: %zu\n", sizeof(PointyInt));
      printf("sizeof void *: %zu\n", sizeof(void *));
      printf("size of long long int: %zu\n", sizeof(long long int));
      printf("sizeof List: %zu\n", sizeof(List));

      for (int i = 0; i < count; i++) {
            long long int x = parse_integer(arguments[i]);
            printf("integer value of '%s': %lld (error: %d)\n", arguments[i], x, EINVAL == errno);
            printf("strlen: %zu utf8_count: %zu\n", strlen(arguments[i]), utf8_count(arguments[i]));
      }

      printf("%s\n", format("%p is a goat", main));

      return 0;
}