X-Git-Url: https://jasonwoof.com/gitweb/?p=dwm.git;a=blobdiff_plain;f=util.c;h=9da8f52b58cb01f5515758372c3f57023f405286;hp=2cc2d4dc6e4ec12edf9ecce3fd404c1b7fe67e25;hb=83d23908d3438d7f1f62533a7c8d96fc1019df55;hpb=586f66331d1105be03c42e6faeae1672b974a98a diff --git a/util.c b/util.c index 2cc2d4d..9da8f52 100644 --- a/util.c +++ b/util.c @@ -10,7 +10,6 @@ #include #include #include -#include #include "util.h" @@ -135,44 +134,7 @@ pipe_spawn(char *buf, unsigned int len, Display *dpy, char *argv[]) n += l; } close(pfd[0]); - buf[n - 1] = 0; + buf[n < len ? n : len - 1] = 0; } wait(0); } - - -unsigned char * -getselection(unsigned long offset, unsigned long *len, unsigned long *remain) -{ - Display *dpy; - Atom xa_clip_string; - Window w; - XEvent ev; - Atom typeret; - int format; - unsigned char *data; - unsigned char *result = NULL; - - dpy = XOpenDisplay(0); - if(!dpy) - return NULL; - xa_clip_string = XInternAtom(dpy, "_SEL_STRING", False); - w = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 10, 10, 200, 200, - 1, CopyFromParent, CopyFromParent); - XConvertSelection(dpy, XA_PRIMARY, XA_STRING, xa_clip_string, - w, CurrentTime); - XFlush(dpy); - XNextEvent(dpy, &ev); - if(ev.type == SelectionNotify && ev.xselection.property != None) { - XGetWindowProperty(dpy, w, ev.xselection.property, offset, 4096L, False, - AnyPropertyType, &typeret, &format, len, remain, &data); - if(*len) { - result = emalloc(sizeof(unsigned char) * *len); - memcpy(result, data, *len); - } - XDeleteProperty(dpy, w, ev.xselection.property); - } - XDestroyWindow(dpy, w); - XCloseDisplay(dpy); - return result; -}