From 19b6b2cf80bc140d8d98277c0e6dbe797d9ac640 Mon Sep 17 00:00:00 2001 From: coast Date: Thu, 29 May 2025 22:53:18 +0200 Subject: [PATCH] Upload files to ".suckless/slstatus/components" --- .suckless/slstatus/components/slstatus.o | Bin 0 -> 6768 bytes .suckless/slstatus/components/util.c | 141 +++++++++++++++++++++++ .suckless/slstatus/components/util.h | 16 +++ .suckless/slstatus/components/util.o | Bin 0 -> 5576 bytes 4 files changed, 157 insertions(+) create mode 100644 .suckless/slstatus/components/slstatus.o create mode 100644 .suckless/slstatus/components/util.c create mode 100644 .suckless/slstatus/components/util.h create mode 100644 .suckless/slstatus/components/util.o diff --git a/.suckless/slstatus/components/slstatus.o b/.suckless/slstatus/components/slstatus.o new file mode 100644 index 0000000000000000000000000000000000000000..b0ecf9767c5f487e01891d0bc741e167d385090d GIT binary patch literal 6768 zcmds5eQX>@6`%9@bYlhDRA4c)fqVmJ12=O)E=L-E;hIu>?nVY@N3#$BJ+_L1}5 zal7l-#VroDY22$(BoI^r#D}V?C?N4ikWwhknKUI;6e$UURG>;lR1jo7LMTOQ3&(qN zGv{~fTmIocp0qP>e)D^8X5Q@1yt~hL_Z}$oc$g9oyPs{e6v|lYrVYJAs2%M6Y&%=b zZLzleyaEw4J7dO8OSf#ZIUEc#+teqGcCFsj9&Vl)fx^ThJi>+_Oc{y&F*6m{=i0Rc zdMs{?YgSTA0<4YaaTbjyqlZT)4a$(MeGA# z&RUhZ^L+8FuRHuE&vY|DYL>nL{l0xOR_(s9ee1?%um6&-eiW!IoV|+G`gxw&i;4q2 znV-xbKbymtoJ!{y<2K6TU1uPuBoi z1Z)A|=+l8yP=VBnzV78W?c2gRp>G7pu9kC@`0r2SnnhzdJLfN6z$;6EbLfz-?!qek z=ib#5uVFj$x!T-zzOn}KwX68*`>^*V=EI%=UpUKGUu;4{-uM^kdDhRL;frVLxaVw7 z+w1mAFgdFYXu`kX@QjG)CLQ*4xOi6UTypv9SA;!}KKTZYw)RF9_dbapcqWw(!sa#6 zaWW#v@Qy714vir2wf`*~JYxmwcxEsFORPDR<(b|6)+RTWiq$0;;_65^lJL zjxNdWCx|m*&sPQm4X_2X4dJ)>>U=KwO=ah^w+I=JN??z4)ue6P#Z;`&+J5zqc^^;$E*5D)Nu7z_|u3EeBACDfwA%PNc7*w_gV`cV$ll5P{YYB7fA8cF~j55ogBFU8|- z@Krz7Ucy&+KJMZKP>`teyI#S>nLv8lg= z{v8+mIT!o~F8E0o{3kB>D=zp27yOC~e$@qk+Xb(ZX9IK>iQfgk#Rb391#fo2TU_w_ z0N)DVi~6oqy8Qd9y6F3o7AJ2To+~Q#aTHs%tR_3 zOIQ;kJ!hshp0q7CF%h@TDK=rG)5$bR+1c;`(NRd#+2|;663J1O$QP&W&<(#P;734o z>hLJ0_{>h>j{%mp6Qj}O^t7HBXK8(UG-aft%sir}@>(o4vxkjCfCL$)XQXHJI2*Gk zSe4v;%qa0HQ1RVO@H)`ngIpEmIKe6Zn*_%*O!1$UIBweq2#((m3XV(tpYxw-R^y`4{2i*lOHrc>hq4e+xVc-{pe0x!~Od$Gb=Q>6N&O z|9c{+j13bU^LoV}A%18)KSOZ5?-k!Be(*e0_&niLKN-TuTS4)^M{vBG75*~uvy0$Y z3I0KX|CRW`yH@#mi|{pqzw5#m8xB0&m)i;dMhqkfR$Jjw{3r4*e>?b9@p+Zt zm`f_$FW*P(ru?wPae4v5Zzp&?!4D8W_}7W@-$(d#o&$uBs*1y;16TXCMEu-A{AXPF z#|a;ED>a|56F%me3jZ$Q(|P`w;2$DS|qLA%Goo;9HOYay(ycTJJLi$8m3#{BJw(+a>-y!D;-}{;2uvmi$wM zkN)qKc$VPJQpf5X!I2-4{EH48^BojTl=*W^ewqT=LvVF>3n*yLOg9Q>GdfKv65)vfn1irFSbuemLkTGH6VI;tL zB54^x__5k7k`&pVOxVFx8ve*kTXWK-F*P~?S&AW-@;_A?SYyaArc^p)qn3i8%kUOZ zyo>P+>nI?3JL>C>hSd#V>LtWV^{L7%= zIpSRZF=_9dmzuY-KLHB*blRVi_9;b_wbTANz)S7lF-$^0)cCl6muf>Ihx{JC}n?2&i_YwH-*w^{~vyeLxlhU literal 0 HcmV?d00001 diff --git a/.suckless/slstatus/components/util.c b/.suckless/slstatus/components/util.c new file mode 100644 index 0000000..bca9b2e --- /dev/null +++ b/.suckless/slstatus/components/util.c @@ -0,0 +1,141 @@ +/* See LICENSE file for copyright and license details. */ +#include +#include +#include +#include +#include +#include + +#include "util.h" + +char *argv0; + +static void +verr(const char *fmt, va_list ap) +{ + vfprintf(stderr, fmt, ap); + + if (fmt[0] && fmt[strlen(fmt) - 1] == ':') { + fputc(' ', stderr); + perror(NULL); + } else { + fputc('\n', stderr); + } +} + +void +warn(const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + verr(fmt, ap); + va_end(ap); +} + +void +die(const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + verr(fmt, ap); + va_end(ap); + + exit(1); +} + +static int +evsnprintf(char *str, size_t size, const char *fmt, va_list ap) +{ + int ret; + + ret = vsnprintf(str, size, fmt, ap); + + if (ret < 0) { + warn("vsnprintf:"); + return -1; + } else if ((size_t)ret >= size) { + warn("vsnprintf: Output truncated"); + return -1; + } + + return ret; +} + +int +esnprintf(char *str, size_t size, const char *fmt, ...) +{ + va_list ap; + int ret; + + va_start(ap, fmt); + ret = evsnprintf(str, size, fmt, ap); + va_end(ap); + + return ret; +} + +const char * +bprintf(const char *fmt, ...) +{ + va_list ap; + int ret; + + va_start(ap, fmt); + ret = evsnprintf(buf, sizeof(buf), fmt, ap); + va_end(ap); + + return (ret < 0) ? NULL : buf; +} + +const char * +fmt_human(uintmax_t num, int base) +{ + double scaled; + size_t i, prefixlen; + const char **prefix; + const char *prefix_1000[] = { "", "k", "M", "G", "T", "P", "E", "Z", + "Y" }; + const char *prefix_1024[] = { "", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei", + "Zi", "Yi" }; + + switch (base) { + case 1000: + prefix = prefix_1000; + prefixlen = LEN(prefix_1000); + break; + case 1024: + prefix = prefix_1024; + prefixlen = LEN(prefix_1024); + break; + default: + warn("fmt_human: Invalid base"); + return NULL; + } + + scaled = num; + for (i = 0; i < prefixlen && scaled >= base; i++) + scaled /= base; + + return bprintf("%.1f %s", scaled, prefix[i]); +} + +int +pscanf(const char *path, const char *fmt, ...) +{ + FILE *fp; + va_list ap; + int n; + + if (!(fp = fopen(path, "r"))) { + warn("fopen '%s':", path); + return -1; + } + va_start(ap, fmt); + n = vfscanf(fp, fmt, ap); + va_end(ap); + fclose(fp); + + return (n == EOF) ? -1 : n; +} diff --git a/.suckless/slstatus/components/util.h b/.suckless/slstatus/components/util.h new file mode 100644 index 0000000..cf4b027 --- /dev/null +++ b/.suckless/slstatus/components/util.h @@ -0,0 +1,16 @@ +/* See LICENSE file for copyright and license details. */ +#include + +extern char buf[1024]; + +#define LEN(x) (sizeof(x) / sizeof((x)[0])) + +extern char *argv0; + +void warn(const char *, ...); +void die(const char *, ...); + +int esnprintf(char *str, size_t size, const char *fmt, ...); +const char *bprintf(const char *fmt, ...); +const char *fmt_human(uintmax_t num, int base); +int pscanf(const char *path, const char *fmt, ...); diff --git a/.suckless/slstatus/components/util.o b/.suckless/slstatus/components/util.o new file mode 100644 index 0000000000000000000000000000000000000000..8cc5fdbe3ceffa714902af9a60c463cfa4bf19a1 GIT binary patch literal 5576 zcmdUyVQd^n6@cHJoyJL%y-O+ON{hNb)=iwK*E{2c#L!~bc03K2)NL=2#%(X>^Id$z zK416tj8j#?mP3`5YbihaqdyR;1d%KewUIzokt%YQ3oZ0d`GYDzC7`NuWGKZ!qB2#F z_h#SNJEI2Ow z72$vKsPO;xu$aA%T9)V`X78b5>WkprE&Sg~HuX$Xy|elm;eT+|#x}`LChLPwTqn~L z$Oo@($6BC^=|8-Kits&WkMPq@Lij1?V9M`xx>8sZ=WE^su+uQ@d=hsA7j>mIBK94(ftiMjL6HL1S;Mzhnx4J~4> z*RjbY`bMwQoIt#^vtF-@S?n|{_60+DTjV;#^y}p9;{S-(%3P4X(@yMovmLLJ}ywMPWmrn=Eu;COAI3EpRM$>w9>gPa{1G%^(KIc=*C53 zY&KZ4ine*$JO85}(fP!<4z@=4&pR(5z_U5`4DI}Wn&ZYL(gs+QJ#Ji@UR}a@y?xWG zWqAt~0|H;z))f)iTU-9L@E2yTg~Ttei){;p7FHrB zYAcbwKTp;Qk$V^1ohy+i7eu`#WnP%*^Zy`>{mi~qG)Z`TQPWL z0H9|9TI^0g=>O$7<(#!R{&(kx4$cpr6XX3-Sxopp!9`bZqp%KkDp{L(D{yi7e&PQ~ z_`gs2lt`lJKBblqvDCvrODu9>*vDTCY7J5g1-Spt;1k`CFJkTgNhT_#vRf>9g-%$n z+7DH|a@Dgvw_3_&z5Fl~#=Oi(bu3%zv>z-@WJim`_E5Hxht_zqV7FEP&cIRVhcpa8 zADo28;44KqT7>>0q>C_6guWu2EW%?&aG@|>&X?@nt(D!K0R25Zo%WvoW5?U<j)rhG(FvR*cWF)r+1%#e{1VWS1&>cIrwp>Kx z1oAt%?Ie}mR`l6$zZIKl>b30Zb}QCnMZ2w*zMH$PSg#d5Y_$L-!U68{3YGoVwNUsa zYzgKW<+kstHY{!YohKcIQUJ{}6Fx#6-;xs`qH*V`4dn(s%&m^Jg6{d%)e~# zR_0}c?_=&7Jc)YLV5A;wz`Gl8(SRRoz>g!p1@}$umy9!Hq;KZW8Mcq|R?FB!Hr~MA zWBVVly^Kj@=Ni~wVEfrHR#0SoVtEmNoB8uRa`OKihlGq-WZz+4rNfFMV-?Fw_}grp z?>FGDHQj;DOImH8qdK*-gP0K>Pa4=XL~|EKQEsh^0{9=4?x8mCew*R zkOonANAo2pVE)TN8Josk_(s+(K_*l2vbi&v+{l?sAzK`U;bI>0lSL2mDu=G8P#EIj zhN^}2pIO4rL|^jB}&om{YUv>4}6|PJ}D;I(FdiWBkA+QF)HG zm(G&ncVL~wwBHk8nNKaOEBh~LoaR!znd61Vr%xBfU)DJJpm-n03)$bM@f33^=(H>Q zjK;TWyr7MuKTltD9PCPFmx-pM%=?x}UDbbwB5| zaj2^Ne8u38V;jjYHBPau?0?Oi)}_yzCV)cwKzE_CKh2y9-Jkb0d-_kO>_5=#DV7vh zM~%j(+^qO^`E?xJ)4D%h8oyJsKcex^X*{EG-Os~lLqcv*-ca*?l^_anJ#Hn$2ZbpO z+0Q`b2gL<*m5UTV!kl7&MDbLhg3YDkl-Ehr`BHo!!1B9;s)|3t{2-T#r&;eZxLW5a zgR6Co82kk5WrGj0K56hLS)Vd^mh}q;A7=fc!B4aPg2BJe`ill1W8LPG;);Gs)P5+g z?nkvQ#nnBi{8U`scb9oU#nrv`roq+ywPbL0e?h!*cFfBTVd=R+IihNAel#2R@{=CK zWpy~~Wg$LPsh~bi3iZKnTZrez$Hwv{v@4B!`8a;h-Xrf6)=!tJ@v@6|gX^8;q4Fb{ zf}0)7t8Mw0OB;JqteIb2UC2nD;`0}1fvu`jNx6W|S{ME{2wh4j3C>HT(mX8$QDQ*> z^xZ|A&6onb%Ja^zk)UE5`rW8+Hh+RI$SX8B3e8V*nDZx@ne(6G4N>-JCdJebAf+kV zgXXoT>QCQOy0AO45Ai