コード例 #1
0
ファイル: gtkurl.c プロジェクト: FabrizioFabbe/silc
void gtkurl_check_all(GtkText *gtktext)
{
  guint origpos;
  guint pos = 0;
  guint len;
  float adj_value;

  len = gtk_text_get_length(gtktext);
  
  adj_value = gtktext->vadj->value;
  gtk_text_freeze(gtktext);
  origpos = gtk_editable_get_position(GTK_EDITABLE(gtktext));

  while (pos < len) 
    { 
      while (pos < len && iswordsep(GTK_TEXT_INDEX(gtktext, pos)))
	pos++;
      while (pos < len && !iswordsep(GTK_TEXT_INDEX(gtktext, pos)))
	pos++;
      if (pos > 0)
	check_at(gtktext, pos-1);
    }

  gtk_text_thaw(gtktext);
  gtk_editable_set_position(GTK_EDITABLE(gtktext), origpos);
}
コード例 #2
0
ファイル: gtkurl.c プロジェクト: FabrizioFabbe/silc
static void entry_delete_cb(GtkText *gtktext, gint start, gint end, gpointer d)
{
  gint origpos;
  
  origpos = gtk_editable_get_position(GTK_EDITABLE(gtktext));
  check_at(gtktext, start-1);
  gtk_editable_set_position(GTK_EDITABLE(gtktext), origpos);
  gtk_editable_select_region(GTK_EDITABLE(gtktext), origpos, origpos);
  /* this is to *UNDO* the selection, in case they were holding shift
   * while hitting backspace. */
}
コード例 #3
0
ファイル: gtkurl.c プロジェクト: FabrizioFabbe/silc
static void entry_insert_cb(GtkText *gtktext, gchar *newtext, guint len, guint *ppos, gpointer d)
{
  gint origpos;

  gtk_signal_handler_block_by_func(GTK_OBJECT(gtktext),
				   GTK_SIGNAL_FUNC(entry_insert_cb), 
				   NULL );
  
  gtk_text_insert(GTK_TEXT(gtktext), NULL,
		  &(GTK_WIDGET(gtktext)->style->fg[0]), NULL, newtext, len);

  gtk_signal_handler_unblock_by_func(GTK_OBJECT(gtktext),
				     GTK_SIGNAL_FUNC(entry_insert_cb),
				     NULL);
  
  gtk_signal_emit_stop_by_name(GTK_OBJECT(gtktext), "insert-text");
  *ppos += len;

  origpos = gtk_editable_get_position(GTK_EDITABLE(gtktext));

  if (iswordsep(newtext[0])) 
    {
      /* did we just end a word? */
      if (*ppos >= 2) check_at(gtktext, *ppos-2);
      
      /* did we just split a word? */
      if (*ppos < gtk_text_get_length(gtktext))
	check_at(gtktext, *ppos+1);
    } 
  else 
    {
      /* check as they type, *except* if they're typing at the end (the most
       * common case.
       */
      if (*ppos < gtk_text_get_length(gtktext) && !iswordsep(GTK_TEXT_INDEX(gtktext, *ppos)))
	check_at(gtktext, *ppos-1);
    }

  gtk_editable_set_position(GTK_EDITABLE(gtktext), origpos);
  gtk_editable_select_region(GTK_EDITABLE(gtktext), origpos, origpos);
}
コード例 #4
0
ファイル: main.c プロジェクト: chosen0ne/infQ
void push_pop_test(infq_t *q)
{
    int     m, n;

    for (int i = 0; i < 50 * 60000 || infq_size(q) != 0; i++) {
        if (i < 50 * 60000) {
            if (infq_push(q, &i, sizeof(i)) == INFQ_ERR) {
                printf("failed to push\n");
                return;
            }

            printf("push => %d, s => %d\n", i, infq_size(q));
            if (i % 500 == 0) {
                sleep(1);
            }
        }

        if (i % 60 == 0) {
            m = i > 40 ? 40 : i - 1;
            if (m > 0) {
                n = rand() % m;
                do_pop(q, n);
            }
        }

        if (i % 33 == 0) {
            check_at(q);
        }
    }

    sleep(3);
    printf("fin sleep");

    int     *data;
    int     size;

    for (int i = 0; i < 4000000; i++) {
        if (infq_pop_zero_cp(q, (const void **)&data, &size) == INFQ_ERR) {
            printf("failed to pop\n");
        }
    }
}
コード例 #5
0
	void check_facing_at(enum Orientation o, int x, int y) {
		check_facing(o);
		check_at(x, y);
	}
コード例 #6
0
ファイル: sim900.c プロジェクト: zhangjie201412/SmartVehicle
void sim900_connect(void)
{
    uint8_t i = 0;
    uint8_t retry = 3;

    printk("connect...\r\n");

    while(1) {
        switch(status) {
            case STATUS_POWERON:
                sim900_poweron();
                clear_rx_buf();

                printk("wait for at done\r\n");
                for(i = 0; i < retry; i++) {
                    sim900_write("AT\r\n", 4);
                    //sim900_wait(5000000);
                    OSTimeDlyHMSM(0, 0, 0, 400);
                    if(!check_at()) {
                        status = STATUS_CONFIG;
                        break;
                    }
                    clear_rx_buf();
                }
                break;

                //case STATUS_INIT:
            case STATUS_CONFIG:
                printk("wait for config done\r\n");
                OSTimeDlyHMSM(0, 0, 10, 0);
                sim900_write("AT+CREG?\r\n", 10);
                OSTimeDlyHMSM(0, 0, 0, 100);
                sim900_write("AT+CIPMODE=1\r\n", 14);
                OSTimeDlyHMSM(0, 0, 0, 100);
                sim900_write("AT+CGATT?\r\n", 11);
                OSTimeDlyHMSM(0, 0, 0, 100);
                sim900_write("AT+CSTT=\"CMNET\"\r\n", 17);
                OSTimeDlyHMSM(0, 0, 0, 100);
                sim900_write("AT+CIICR\r\n", 10);
                OSTimeDlyHMSM(0, 0, 2, 0);
                printk("try to get ip address\r\n");
                sim900_write("AT+CIFSR\r\n", 10);
                OSTimeDlyHMSM(0, 0, 0, 100);
                sim900_write("AT+CGATT=1\r\n", 12);
                OSTimeDlyHMSM(0, 0, 0, 100);
                sim900_write("AT+CGSN\r\n", 9);
                OSTimeDlyHMSM(0, 0, 0, 100);
                status = STATUS_CONNECTING;
                break;
            case STATUS_CONNECTING:
                printk("wait for connecting...\r\n");
                sim900_write("AT+CIPSTATUS\r\n", 14);
                OSTimeDlyHMSM(0, 0, 2, 0);
                for(i = 0; i < 1; i++) {
                    clear_rx_buf();
                    sim900_write(connect_cmd, strlen((char *)&connect_cmd[0]));
                    OSTimeDlyHMSM(0, 0, 3, 0);
                    if(!check_at())  {
                        status = STATUS_CONNECTED;
                        break;
                    }
                    clear_rx_buf();
                }
                if(i >= 1) {		//retry failed
                    sim900_write("+++\r\n", 5);
                    OSTimeDlyHMSM(0, 0, 1, 0);
                    sim900_write("AT+CIPCLOSE\r\n", 13);
                    OSTimeDlyHMSM(0, 0, 1, 0);
                    sim900_write("AT+CIPSHUT\r\n", 12);
                    OSTimeDlyHMSM(0, 0, 1, 0);
                    status = STATUS_CONFIG;
                }
                break;
            case STATUS_CONNECTED:
                printk("Connect done!\r\n");
                clear_buf();
                return;
            default:
                break;
        }
    }
}