Home | History | Annotate | Download | only in dist

Lines Matching refs:pb

77 paste_buffer_name(struct paste_buffer *pb)
79 return (pb->name);
84 paste_buffer_order(struct paste_buffer *pb)
86 return (pb->order);
91 paste_buffer_created(struct paste_buffer *pb)
93 return (pb->created);
98 paste_buffer_data(struct paste_buffer *pb, size_t *size)
101 *size = pb->size;
102 return (pb->data);
107 paste_walk(struct paste_buffer *pb)
109 if (pb == NULL)
111 return (RB_NEXT(paste_time_tree, &paste_by_time, pb));
124 struct paste_buffer *pb;
126 pb = RB_MIN(paste_time_tree, &paste_by_time);
127 while (pb != NULL && !pb->automatic)
128 pb = RB_NEXT(paste_time_tree, &paste_by_time, pb);
129 if (pb == NULL)
132 *name = pb->name;
133 return (pb);
151 paste_free(struct paste_buffer *pb)
153 notify_paste_buffer(pb->name, 1);
155 RB_REMOVE(paste_name_tree, &paste_by_name, pb);
156 RB_REMOVE(paste_time_tree, &paste_by_time, pb);
157 if (pb->automatic)
160 free(pb->data);
161 free(pb->name);
162 free(pb);
172 struct paste_buffer *pb, *pb1;
184 RB_FOREACH_REVERSE_SAFE(pb, paste_time_tree, &paste_by_time, pb1) {
187 if (pb->automatic)
188 paste_free(pb);
191 pb = xmalloc(sizeof *pb);
193 pb->name = NULL;
195 free(pb->name);
196 xasprintf(&pb->name, "%s%u", prefix, paste_next_index);
198 } while (paste_get_name(pb->name) != NULL);
200 pb->data = data;
201 pb->size = size;
203 pb->automatic = 1;
206 pb->created = time(NULL);
208 pb->order = paste_next_order++;
209 RB_INSERT(paste_name_tree, &paste_by_name, pb);
210 RB_INSERT(paste_time_tree, &paste_by_time, pb);
212 notify_paste_buffer(pb->name, 0);
219 struct paste_buffer *pb, *pb_new;
235 pb = paste_get_name(oldname);
236 if (pb == NULL) {
243 if (pb_new == pb)
248 RB_REMOVE(paste_name_tree, &paste_by_name, pb);
250 free(pb->name);
251 pb->name = xstrdup(newname);
253 if (pb->automatic)
255 pb->automatic = 0;
257 RB_INSERT(paste_name_tree, &paste_by_name, pb);
272 struct paste_buffer *pb, *old;
292 pb = xmalloc(sizeof *pb);
294 pb->name = xstrdup(name);
296 pb->data = data;
297 pb->size = size;
299 pb->automatic = 0;
300 pb->order = paste_next_order++;
302 pb->created = time(NULL);
307 RB_INSERT(paste_name_tree, &paste_by_name, pb);
308 RB_INSERT(paste_time_tree, &paste_by_time, pb);
317 paste_replace(struct paste_buffer *pb, char *data, size_t size)
319 free(pb->data);
320 pb->data = data;
321 pb->size = size;
323 notify_paste_buffer(pb->name, 0);
328 paste_make_sample(struct paste_buffer *pb)
335 len = pb->size;
340 used = utf8_strvis(buf, pb->data, len, flags);
341 if (pb->size > width || used > width)