static gboolean goto_next_word (GeditDocument *doc) { CheckRange *range; GtkTextIter current_iter; GtkTextIter old_current_iter; GtkTextIter end_iter; gedit_debug (DEBUG_PLUGINS); g_return_val_if_fail (doc != NULL, FALSE); range = get_check_range (doc); g_return_val_if_fail (range != NULL, FALSE); gtk_text_buffer_get_iter_at_mark (GTK_TEXT_BUFFER (doc), ¤t_iter, range->current_mark); gtk_text_buffer_get_end_iter (GTK_TEXT_BUFFER (doc), &end_iter); old_current_iter = current_iter; gtk_text_iter_forward_word_ends (¤t_iter, 2); gtk_text_iter_backward_word_start (¤t_iter); if (gedit_spell_utils_skip_no_spell_check (¤t_iter, &end_iter) && (gtk_text_iter_compare (&old_current_iter, ¤t_iter) < 0) && (gtk_text_iter_compare (¤t_iter, &end_iter) < 0)) { update_current (doc, gtk_text_iter_get_offset (¤t_iter)); return TRUE; } return FALSE; }
RelocationReader(CompiledMethod* compiled_method) : RelocationStream(compiled_method) { #if ENABLE_APPENDED_CALLINFO skip_callinfo(); #endif update_current(); }
void transfer_node(monitor_t *ms, desktop_t *ds, monitor_t *md, desktop_t *dd, node_t *n) { if (n == NULL || ds == NULL || dd == NULL || ms == NULL || md == NULL || (ms == md && dd == ds)) return; PRINTF("transfer node %X\n", n->client->window); unlink_node(ds, n); insert_node(md, dd, n); ewmh_set_wm_desktop(n, dd); if (ds == ms->desk && dd != md->desk) { window_hide(n->client->window); } fit_monitor(md, n->client); if (n->client->fullscreen) window_move_resize(n->client->window, md->rectangle.x, md->rectangle.y, md->rectangle.width, md->rectangle.height); if (ds != ms->desk && dd == md->desk) { window_show(n->client->window); focus_node(md, dd, n, true); } else { focus_node(md, dd, n, false); } if (ds == ms->desk || dd == md->desk) update_current(); }
void select_desktop(desktop_t *d) { if (d == NULL || d == mon->desk) return; PRINTF("select desktop %s\n", d->name); if (visible) { node_t *n = first_extrema(d->root); while (n != NULL) { window_show(n->client->window); n = next_leaf(n); } n = first_extrema(mon->desk->root); while (n != NULL) { window_hide(n->client->window); n = next_leaf(n); } } mon->last_desk = mon->desk; mon->desk = d; update_current(); ewmh_update_current_desktop(); put_status(); }
void remove_monitor(monitor_t *m) { PRINTF("remove monitor %s (0x%X)\n", m->name, m->id); while (m->desk_head != NULL) remove_desktop(m, m->desk_head); monitor_t *prev = m->prev; monitor_t *next = m->next; monitor_t *last_mon = history_get_monitor(m); if (prev != NULL) prev->next = next; if (next != NULL) next->prev = prev; if (mon_head == m) mon_head = next; if (mon_tail == m) mon_tail = prev; if (pri_mon == m) pri_mon = NULL; if (mon == m) { mon = (last_mon == NULL ? (prev == NULL ? next : prev) : last_mon); if (mon != NULL && mon->desk != NULL) update_current(); } xcb_destroy_window(dpy, m->root); free(m); num_monitors--; put_status(); }
void interDMA2_Stream0(void) { TIM_Cmd(TIM3, DISABLE); ADC_Cmd(ADC1, DISABLE); DMA_Cmd(DMA2_Stream0, DISABLE); while(DMA2_Stream0->CR & DMA_SxCR_EN); DMA_ClearFlag(DMA2_Stream0, DMA_FLAG_TCIF0|DMA_FLAG_HTIF0|DMA_FLAG_TEIF0|DMA_FLAG_DMEIF0|DMA_FLAG_FEIF0); enqueue_buf(pb_adc); update_current(); set_cur_status_meas(STOP); }
static void change_all_cb (GeditSpellCheckerDialog *dlg, const gchar *word, const gchar *change, GeditView *view) { GeditDocument *doc; CheckRange *range; gchar *w = NULL; GtkTextIter start, end; gint flags = 0; gedit_debug (DEBUG_PLUGINS); g_return_if_fail (view != NULL); g_return_if_fail (word != NULL); g_return_if_fail (change != NULL); doc = GEDIT_DOCUMENT (gtk_text_view_get_buffer (GTK_TEXT_VIEW (view))); g_return_if_fail (doc != NULL); range = get_check_range (doc); g_return_if_fail (range != NULL); gtk_text_buffer_get_iter_at_offset (GTK_TEXT_BUFFER (doc), &start, range->mw_start); if (range->mw_end < 0) gtk_text_buffer_get_end_iter (GTK_TEXT_BUFFER (doc), &end); else gtk_text_buffer_get_iter_at_offset (GTK_TEXT_BUFFER (doc), &end, range->mw_end); w = gtk_text_buffer_get_slice (GTK_TEXT_BUFFER (doc), &start, &end, TRUE); g_return_if_fail (w != NULL); if (strcmp (w, word) != 0) { g_free (w); return; } g_free (w); GEDIT_SEARCH_SET_CASE_SENSITIVE (flags, TRUE); GEDIT_SEARCH_SET_ENTIRE_WORD (flags, TRUE); /* CHECK: currently this function does escaping etc */ gedit_document_replace_all (doc, word, change, flags); update_current (doc, range->mw_start + g_utf8_strlen (change, -1)); /* go to next misspelled word */ ignore_cb (dlg, word, view); }
static void change_cb (GeditSpellCheckerDialog *dlg, const gchar *word, const gchar *change, GeditView *view) { GeditDocument *doc; CheckRange *range; gchar *w = NULL; GtkTextIter start, end; gedit_debug (DEBUG_PLUGINS); g_return_if_fail (view != NULL); g_return_if_fail (word != NULL); g_return_if_fail (change != NULL); doc = GEDIT_DOCUMENT (gtk_text_view_get_buffer (GTK_TEXT_VIEW (view))); g_return_if_fail (doc != NULL); range = get_check_range (doc); g_return_if_fail (range != NULL); gtk_text_buffer_get_iter_at_offset (GTK_TEXT_BUFFER (doc), &start, range->mw_start); if (range->mw_end < 0) gtk_text_buffer_get_end_iter (GTK_TEXT_BUFFER (doc), &end); else gtk_text_buffer_get_iter_at_offset (GTK_TEXT_BUFFER (doc), &end, range->mw_end); w = gtk_text_buffer_get_slice (GTK_TEXT_BUFFER (doc), &start, &end, TRUE); g_return_if_fail (w != NULL); if (strcmp (w, word) != 0) { g_free (w); return; } g_free (w); gtk_text_buffer_begin_user_action (GTK_TEXT_BUFFER(doc)); gtk_text_buffer_delete (GTK_TEXT_BUFFER (doc), &start, &end); gtk_text_buffer_insert (GTK_TEXT_BUFFER (doc), &start, change, -1); gtk_text_buffer_end_user_action (GTK_TEXT_BUFFER(doc)); update_current (doc, range->mw_start + g_utf8_strlen (change, -1)); /* go to next misspelled word */ ignore_cb (dlg, word, view); }
gboolean ot_admin_builtin_deploy (int argc, char **argv, GError **error) { GOptionContext *context; OtAdminDeploy self_data; OtAdminDeploy *self = &self_data; gboolean ret = FALSE; const char *deploy_target = NULL; const char *revision = NULL; __attribute__((unused)) GCancellable *cancellable = NULL; if (!opt_ostree_dir) opt_ostree_dir = "/ostree"; memset (self, 0, sizeof (*self)); context = g_option_context_new ("NAME [REVISION] - Check out revision NAME (or REVISION as NAME)"); g_option_context_add_main_entries (context, options, NULL); if (!g_option_context_parse (context, &argc, &argv, error)) goto out; if (argc < 2) { ot_util_usage_error (context, "NAME must be specified", error); goto out; } deploy_target = argv[1]; if (argc > 2) revision = argv[2]; if (!do_checkout (self, deploy_target, revision, cancellable, error)) goto out; if (!opt_no_kernel) { if (!do_update_kernel (self, deploy_target, cancellable, error)) goto out; } if (!update_current (deploy_target, cancellable, error)) goto out; ret = TRUE; out: if (context) g_option_context_free (context); return ret; }
/* this yields a byte at a time */ static int compress(MTFState *s, int (*cb)(void *opaque), void *opaque) { unsigned int buf; int used; int c; buf = s->buf; used = s->used; while (used < 8) { int pos; /* less than a byte buffered: do a compress */ c = cb(opaque); if (c == EOF) { DBUG(("compress EOF\n")); return EOF; // fix termination case } pos = index_of(s, c); if (pos != -1) { buf |= pos << used; used += 4; } else { buf |= (ESCAPE | (c << 4)) << used; used += 12; } update_current(s, c); } c = buf & 0xFF; buf >>= 8; used -= 8; assert(used <= 8); s->buf = buf; s->used = used; DBUG(("{compress}")); return c; }
void remove_node(desktop_t *d, node_t *n) { if (d == NULL || n == NULL) return; PRINTF("remove node %X\n", n->client->window); unlink_node(d, n); free(n->client); free(n); num_clients--; ewmh_update_client_list(); if (mon->desk == d) update_current(); }
static gchar * get_next_misspelled_word (GeditView *view) { GeditDocument *doc; CheckRange *range; gint start, end; gchar *word; GeditSpellChecker *spell; g_return_val_if_fail (view != NULL, NULL); doc = GEDIT_DOCUMENT (gtk_text_view_get_buffer (GTK_TEXT_VIEW (view))); g_return_val_if_fail (doc != NULL, NULL); range = get_check_range (doc); g_return_val_if_fail (range != NULL, NULL); spell = get_spell_checker_from_document (doc); g_return_val_if_fail (spell != NULL, NULL); word = get_current_word (doc, &start, &end); if (word == NULL) return NULL; gedit_debug_message (DEBUG_PLUGINS, "Word to check: %s", word); while (gedit_spell_checker_check_word (spell, word, -1)) { g_free (word); if (!goto_next_word (doc)) return NULL; /* may return null if we reached the end of the selection */ word = get_current_word (doc, &start, &end); if (word == NULL) return NULL; gedit_debug_message (DEBUG_PLUGINS, "Word to check: %s", word); } if (!goto_next_word (doc)) update_current (doc, gtk_text_buffer_get_char_count (GTK_TEXT_BUFFER (doc))); if (word != NULL) { GtkTextIter s, e; range->mw_start = start; range->mw_end = end; gedit_debug_message (DEBUG_PLUGINS, "Select [%d, %d]", start, end); gtk_text_buffer_get_iter_at_offset (GTK_TEXT_BUFFER (doc), &s, start); gtk_text_buffer_get_iter_at_offset (GTK_TEXT_BUFFER (doc), &e, end); gtk_text_buffer_select_range (GTK_TEXT_BUFFER (doc), &s, &e); gedit_view_scroll_to_cursor (view); } else { range->mw_start = -1; range->mw_end = -1; } return word; }
static void set_check_range (GeditDocument *doc, GtkTextIter *start, GtkTextIter *end) { CheckRange *range; GtkTextIter iter; gedit_debug (DEBUG_PLUGINS); range = get_check_range (doc); if (range == NULL) { gedit_debug_message (DEBUG_PLUGINS, "There was not a previous check range"); gtk_text_buffer_get_end_iter (GTK_TEXT_BUFFER (doc), &iter); range = g_new0 (CheckRange, 1); range->start_mark = gtk_text_buffer_create_mark (GTK_TEXT_BUFFER (doc), "check_range_start_mark", &iter, TRUE); range->end_mark = gtk_text_buffer_create_mark (GTK_TEXT_BUFFER (doc), "check_range_end_mark", &iter, FALSE); range->current_mark = gtk_text_buffer_create_mark (GTK_TEXT_BUFFER (doc), "check_range_current_mark", &iter, TRUE); g_object_set_qdata_full (G_OBJECT (doc), check_range_id, range, (GDestroyNotify)g_free); } if (gedit_spell_utils_skip_no_spell_check (start, end)) { if (!gtk_text_iter_inside_word (end)) { /* if we're neither inside a word, * we must be in some spaces. * skip backward to the end of the previous word. */ if (!gtk_text_iter_is_end (end)) { gtk_text_iter_backward_word_start (end); gtk_text_iter_forward_word_end (end); } } else { if (!gtk_text_iter_ends_word (end)) gtk_text_iter_forward_word_end (end); } } else { /* no spell checking in the specified range */ start = end; } gtk_text_buffer_move_mark (GTK_TEXT_BUFFER (doc), range->start_mark, start); gtk_text_buffer_move_mark (GTK_TEXT_BUFFER (doc), range->end_mark, end); range->mw_start = -1; range->mw_end = -1; update_current (doc, gtk_text_iter_get_offset (start)); }
void sensor_read() { update_current(&sensor1); update_current2(&sensor2); update_current3(&sensor3); }
static void change_all_cb (GeditSpellCheckerDialog *dlg, const gchar *word, const gchar *change, GeditView *view) { GeditDocument *doc; CheckRange *range; gchar *w = NULL; GtkTextIter start, end; GtkSourceSearchSettings *search_settings; GtkSourceSearchContext *search_context; gedit_debug (DEBUG_PLUGINS); g_return_if_fail (view != NULL); g_return_if_fail (word != NULL); g_return_if_fail (change != NULL); doc = GEDIT_DOCUMENT (gtk_text_view_get_buffer (GTK_TEXT_VIEW (view))); g_return_if_fail (doc != NULL); range = get_check_range (doc); g_return_if_fail (range != NULL); gtk_text_buffer_get_iter_at_offset (GTK_TEXT_BUFFER (doc), &start, range->mw_start); if (range->mw_end < 0) gtk_text_buffer_get_end_iter (GTK_TEXT_BUFFER (doc), &end); else gtk_text_buffer_get_iter_at_offset (GTK_TEXT_BUFFER (doc), &end, range->mw_end); w = gtk_text_buffer_get_slice (GTK_TEXT_BUFFER (doc), &start, &end, TRUE); g_return_if_fail (w != NULL); if (strcmp (w, word) != 0) { g_free (w); return; } g_free (w); search_settings = gtk_source_search_settings_new (); gtk_source_search_settings_set_case_sensitive (search_settings, TRUE); gtk_source_search_settings_set_at_word_boundaries (search_settings, TRUE); gtk_source_search_settings_set_search_text (search_settings, word); search_context = gtk_source_search_context_new (GTK_SOURCE_BUFFER (doc), search_settings); gtk_source_search_context_set_highlight (search_context, FALSE); gtk_source_search_context_replace_all (search_context, change, -1, NULL); update_current (doc, range->mw_start + g_utf8_strlen (change, -1)); /* go to next misspelled word */ ignore_cb (dlg, word, view); g_object_unref (search_settings); g_object_unref (search_context); }
gboolean ot_admin_builtin_deploy (int argc, char **argv, GError **error) { GOptionContext *context; OtAdminDeploy self_data; OtAdminDeploy *self = &self_data; gboolean ret = FALSE; const char *deploy_target = NULL; const char *revision = NULL; __attribute__((unused)) GCancellable *cancellable = NULL; memset (self, 0, sizeof (*self)); context = g_option_context_new ("NAME [REVISION] - Check out revision NAME (or REVISION as NAME)"); g_option_context_add_main_entries (context, options, NULL); if (!g_option_context_parse (context, &argc, &argv, error)) goto out; if (argc < 3) { ot_util_usage_error (context, "NAME must be specified", error); goto out; } deploy_target = argv[2]; if (argc > 3) revision = argv[3]; if (!do_checkout (self, deploy_target, revision, cancellable, error)) goto out; if (!opt_checkout_only) { struct utsname utsname; const char *release; (void) uname (&utsname); if (strcmp (utsname.sysname, "Linux") != 0) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "Unsupported machine %s", utsname.sysname); goto out; } release = utsname.release; if (!update_initramfs (release, deploy_target, cancellable, error)) goto out; if (!update_grub (release, cancellable, error)) goto out; } if (!update_current (deploy_target, cancellable, error)) goto out; ret = TRUE; out: if (context) g_option_context_free (context); return ret; }
/* this yields a byte at a time */ static int decompress(MTFState *s, int (*cb)(void *opaque), void *opaque) { unsigned int buf; int used; int c; int r; buf = s->buf; used = s->used; /* ensure we have a nibble */ if (used < 4) { DBUG(("{read 1}")); c = cb(opaque); if (c == EOF) { DBUG(("decompress EOF case 1\n")); return EOF; // fix termination case } DBUG(("{=%d}",c)); buf |= c << used; used += 8; } else { DBUG(("{got %d bits}", used)); } c = buf & 0xF; buf >>= 4; used -= 4; if (c != ESCAPE) { r = s->tab[c]; } else { /* ensure we have a byte (duplicate ish of above) */ if (used < 8) { DBUG(("{read 2}")); c = cb(opaque); if (c == EOF) { DBUG(("decompress EOF case 2\n")); return EOF; // fix termination case } DBUG(("{=%d}",c)); buf |= c << used; used += 8; } r = buf & 0xFF; buf >>= 8; used -= 8; } update_current(s, r); s->buf = buf; s->used = used; DBUG(("{decompress=%c}",r)); return r; }