💾 Archived View for gemini.ctrl-c.club › ~phoebos › logs › freenode-kisslinux-2020-07-26.txt captured on 2024-05-12 at 16:07:59.

View Raw

More Information

⬅️ Previous capture (2021-12-17)

-=-=-=-=-=-=-

2020-07-26T03:46:02 #kisslinux <illiliti> claudia2: maybe segfault triggered by something else ?
2020-07-26T03:48:35 #kisslinux <illiliti> try to recompile all packages which depends on wlroots/sway with debugging symbols
2020-07-26T06:51:27 #kisslinux <dylanaraps> E5ten: I don't think there's anything linux specific left.
2020-07-26T06:51:43 #kisslinux <dylanaraps> I'd be happy to be proven wrong though!
2020-07-26T07:33:25 #kisslinux <illiliti> i found a bug in gcc 10
2020-07-26T07:33:30 #kisslinux <illiliti> if i do compile libudev-zero with '-O2' then libinput list-devices results in segfault
2020-07-26T07:34:36 #kisslinux <illiliti> i can't reproduce this bug with clang or gcc 9
2020-07-26T07:35:07 #kisslinux <illiliti> claudia2: perhaps related to your bug
2020-07-26T08:31:00 #kisslinux <E5ten> Anything useful in bt?
2020-07-26T08:38:30 #kisslinux <illiliti> termbin.com/envn
2020-07-26T09:00:22 #kisslinux <illiliti> ok i fixed it but now libinput doesn't output anything
2020-07-26T09:32:45 #kisslinux <illiliti> libinput finally fixed
2020-07-26T09:33:29 #kisslinux <illiliti> will push fixes soon
2020-07-26T09:40:40 #kisslinux <dylanaraps> Nice
2020-07-26T09:46:04 #kisslinux <illiliti> dylanaraps: i will do release after claudia2 confirms that bug is fixed
2020-07-26T10:00:18 #kisslinux * ihitu 跳一下
2020-07-26T10:33:34 #kisslinux <dylanaraps> illiliti: Sure thing
2020-07-26T12:40:20 #kisslinux <claudia02> o/
2020-07-26T12:40:46 #kisslinux <claudia02> illiliti: I have done many 'pkill sway' and theres no problem what so ever with latest master.
2020-07-26T12:40:47 #kisslinux <claudia02> Gj!
2020-07-26T12:51:48 #kisslinux <illiliti> great, thanks
2020-07-26T15:05:47 #kisslinux <E5ten> mcf: in ubase dd.c, O_LARGEFILE is used, but according to the open manpage it's preferable to not use O_LARGEFILE, and instead just define _FILE_OFFSET_BITS=64, which ubase already does, so I think O_LARGEFILE is unnecessary there
2020-07-26T15:10:01 #kisslinux <E5ten> also, for the sigaction in dd.c, since you don't use the info from the parameters anyway, you can just not set sa_flags to SA_SIGINFO, make sig_int only take one parameter that you ignore, and set sa_handler instead of sa_sigaction, it wouldn't change anything but making it so only 1 parameter has to be ignored instead of 3
2020-07-26T15:16:09 #kisslinux <E5ten> and the POSIX statvfs can be used instead of statfs (also in dd.c) and then the cast for fst.f_bsize to unsigned long can be removed because in statvfs f_bsize is already unsigned long
2020-07-26T15:41:42 #kisslinux <j`ey> why did I think it was a good idea to run `kiss u` and rebuild binutils in the middle of doing other stuff D:
2020-07-26T15:53:02 #kisslinux <j`ey> what does this line do? set +f; set -f -- "$bin_dir/$1#$version-$release.tar."*
2020-07-26T15:54:41 #kisslinux <j`ey> I think it somehow sets $1 to the path it finds, I just dont understand now
2020-07-26T15:58:40 #kisslinux <j`ey> It sounds like -f removes file globbing, so I don't get how the * at the end works
2020-07-26T15:59:05 #kisslinux <E5ten> the -f in that set call only takes effect after the set is done, so globbing is enabled because of the set +f before it
2020-07-26T15:59:29 #kisslinux <j`ey> oh... that's confusing
2020-07-26T16:00:07 #kisslinux <j`ey> if it was written as set +f; set -- ...; set -f;, I probably would have understood!
2020-07-26T16:00:12 #kisslinux <E5ten> globbing happens before the command is even run, so set -f doesn't happen until after the glob is expanded
2020-07-26T16:00:33 #kisslinux <E5ten> like as far as set -f knows, it's just been passed the list of files the glob expanded to, not a glob
2020-07-26T16:01:16 #kisslinux <j`ey> is there a way to write that that doesn't overwrite $1?
2020-07-26T16:01:35 #kisslinux <j`ey> I dont know shell, but it seems weird to overwrite stuff like that, but maybe it's the way
2020-07-26T16:02:00 #kisslinux <E5ten> you could do a for loop over the glob and set a variable to the loop variable and break immediately
2020-07-26T16:03:15 #kisslinux <j`ey> and is `set -- $foo`, the only way to set $1?
2020-07-26T16:03:21 #kisslinux <E5ten> yeah
2020-07-26T16:03:38 #kisslinux <E5ten> well aside from the initial passing of arguments to the function
2020-07-26T16:03:58 #kisslinux <j`ey> because that line overwrites $1, and I need the initial value too
2020-07-26T16:04:49 #kisslinux <E5ten> do you only need $1, or other parameterstoo?
2020-07-26T16:05:08 #kisslinux <j`ey> just $1
2020-07-26T16:05:23 #kisslinux <j`ey> I got it working now, old=$1 .. that line .. set -- $old
2020-07-26T16:05:52 #kisslinux <E5ten> Better way, just do the same thing with the old line but put $1 before the glob
2020-07-26T16:06:04 #kisslinux <E5ten> Then the glob matches will be $2, $3 etc.
2020-07-26T16:06:14 #kisslinux <E5ten> And you still have your original $1
2020-07-26T16:06:17 #kisslinux <E5ten> Obviously quote $1
2020-07-26T16:06:40 #kisslinux <E5ten> so: set+f; set -f -- "$1" <glob>
2020-07-26T16:06:48 #kisslinux <j`ey> nice
2020-07-26T16:06:51 #kisslinux <j`ey> yeah that works
2020-07-26T16:07:03 #kisslinux <E5ten> Great
2020-07-26T16:12:07 #kisslinux <j`ey> sorry about the silly questions, how do i fix this ${(basename file)%.*}?
2020-07-26T16:12:23 #kisslinux <j`ey> aka strip the extension and the path, or should I do it in two steps?
2020-07-26T16:14:10 #kisslinux <E5ten> I'd just do var=${var##/} var=${var%.}
2020-07-26T16:15:24 #kisslinux <E5ten> Did that message go through?
2020-07-26T16:15:40 #kisslinux <j`ey> it did
2020-07-26T16:15:55 #kisslinux <j`ey> although var##/ seems to just strip the leading /
2020-07-26T16:17:06 #kisslinux <Evil_Bob> probably ${var##*/}
2020-07-26T16:17:28 #kisslinux <j`ey>  looks like line noise :D
2020-07-26T16:17:31 #kisslinux <j`ey> but that worked
2020-07-26T16:17:55 #kisslinux <E5ten> Yeah riot fucked it lol, it took my 2 *s to italicize the message instead of leaving them in
2020-07-26T16:18:15 #kisslinux <j`ey> ah I did wonder about the missing * after the %.
2020-07-26T16:18:26 #kisslinux <Evil_Bob> ${parameter##[word]}
2020-07-26T16:18:37 #kisslinux <Evil_Bob> "Substitute parameter, deleting the largest possible prefix matching word."
2020-07-26T16:20:09 #kisslinux <j`ey> oh, that's modifying parameter
2020-07-26T16:20:45 #kisslinux <j`ey> or not
2020-07-26T16:21:32 #kisslinux <Evil_Bob> https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_02    2.6.2 Parameter Expansion            or  https://man.openbsd.org/sh#Expansion
2020-07-26T16:36:47 #kisslinux <E5ten> j`ey: it doesn't modify it, it just expands that way, like if you use that without assigning the variable to the expansion the variable will still be what it was without the expansion afterwards
2020-07-26T16:39:37 #kisslinux <j`ey> yeah I was misreading an error that made me think it was modifying it
2020-07-26T16:44:36 #kisslinux <E5ten> But yeah I don't really ever see a need for using basename or dirname, you can replicate what you need from them with parameter substitution
2020-07-26T18:51:35 #kisslinux <eris> test
2020-07-26T18:51:42 #kisslinux <perish> hola
2020-07-26T18:52:04 #kisslinux <perish> anyone got any stuff regarding kernel config for a touchpad?
2020-07-26T18:54:00 #kisslinux <obsessive[m]> what touchpad?
2020-07-26T18:54:16 #kisslinux <perish> Hardware vendor doesn't want me to reveal
2020-07-26T18:54:27 #kisslinux <perish> *
2020-07-26T18:54:32 #kisslinux <perish> thats a dumb sentence
2020-07-26T18:54:41 #kisslinux <perish> hardware vendor doesnt tell me anything about my hardware
2020-07-26T18:54:46 #kisslinux <perish> do we have lshw?
2020-07-26T18:54:52 #kisslinux <perish> No
2020-07-26T18:55:01 #kisslinux <perish> I'll package it real quick
2020-07-26T18:55:02 #kisslinux <perish> brb
2020-07-26T19:15:12 #kisslinux <perish> Nevermind
2020-07-26T19:15:16 #kisslinux <perish> Too lazy to do that
2020-07-26T19:15:30 #kisslinux <perish> It throws errors and honestly not about that rn
2020-07-26T19:17:00 #kisslinux <perish> Any other way to check hardware, obsessive?
2020-07-26T19:20:08 #kisslinux <j`ey> you can have a look in /sys maybe
2020-07-26T20:10:10 #kisslinux <mcf> E5ten: i removed dd from my ubase and added a portable implementation to sbase
2020-07-26T20:18:42 #kisslinux <E5ten> oh nice
2020-07-26T20:19:24 #kisslinux <obsessive[m]> perish: most of them are ps/2 or usb    hid, so pretty common. i suspect the issue is elsewhere but you could throw a generic kernel at it
2020-07-26T20:51:38 #kisslinux <eris> hel
2020-07-26T20:51:51 #kisslinux <perish> hm, birch has decided to make my txt not shw up
2020-07-26T20:51:55 #kisslinux <perish> ow
2020-07-26T20:54:42 #kisslinux <E5ten> mcpcpc: I was looking at your kfc thing, and when you allocate the memory for sel you're off by one, because you don't allocate memory for the terminating null byte
2020-07-26T20:55:44 #kisslinux <E5ten> you can either add 1 at the end, or switch strlen("/") to sizeof("/"), because sizeof will include the size for the null byte, and eliminates an extra call to strlen (although I'd expect that strlen call would get optimized out anyway cuz it's on a string literal)
2020-07-26T20:56:19 #kisslinux <mcpcpc[m]> E5ten: ah.  thnx!  will push an update in bit.
2020-07-26T20:58:13 #kisslinux <perish> hello
2020-07-26T20:58:22 #kisslinux <perish> i return, once more
2020-07-26T20:58:25 #kisslinux <E5ten> also I'd add a size_t len, and set len to those strlens instead of passing them directly to malloc, and then use snprintf(sel, len instead of sprintf(sel, that way if anything changes about what you put in sel, but you forget to change the size you allocate, the issue will be string truncation instead of trying to put the strings in memory you don't have
2020-07-26T20:58:42 #kisslinux <perish> a discovery has been made: usb mouses dont work unless they're plugged in at boot
2020-07-26T20:58:56 #kisslinux <perish> if im not mistaken, is this not what udev is meant to solve?
2020-07-26T21:01:50 #kisslinux <mcpcpc[m]> <E5ten "also I'd add a size_t len, and s"> hmm had snprintf at some one point.  lol. womp. will fix those as well.
2020-07-26T21:15:08 #kisslinux <E5ten> also, when -s is passed you add "/" and sval at the end of sel, but sel will only have enough allocated memory to store exactly what it's holding, so imo modify the initial allocation and snprintf for sel based on if sflag is true, otherwise you'll have to realloc to append sval
2020-07-26T21:17:36 #kisslinux <E5ten> wait sorry lol I mean if sval is non-NULL, not if sflag is set, there is no sflag, but that actually makes me notice another issue, you need to initialize sval to NULL, otherwise the if (sval) check will succeed even if -s wasn't passed, but its contents will be garbage
2020-07-26T21:21:33 #kisslinux <E5ten> I think this diff would solve the problems related to sel allocation (I also had to realign all the comments for the global variables to fit initializing sel) http://ix.io/2snY
2020-07-26T21:25:31 #kisslinux <mcpcpc[m]> <E5ten "I think this diff would solve th"> thnx. will take a look in a bit. also, pushed the previous fixes
2020-07-26T21:27:24 #kisslinux <E5ten> also, the conf variable has no memory allocated to it, it just points to what getenv returns, I think you need to have a temporary variable you set to getenv("XDG_CONFIG_HOME"), and then allocate memory for conf based on the length of that string and the additional space required to append /kfc and /current
2020-07-26T21:29:58 #kisslinux <mcpcpc[m]> <E5ten "also, the conf variable has no m"> mkk.
2020-07-26T21:34:17 #kisslinux <E5ten> and in random_palette you need to realloc space for sel to append the file name
2020-07-26T21:40:09 #kisslinux <E5ten> you've got some global variables that shouldn't be, global variables are for variables that need to be shared between functions but not passed as parameters, but for example FILE *fp isn't shared between functions, it's just used individually within each function that uses it, and closed by the end of those functions, so each of those should have their own local FILE variable, same goes for the dirent, eval, and evar
2020-07-26T21:40:09 #kisslinux <E5ten> (possibly others, but those are the ones I just checked)
2020-07-26T21:41:23 #kisslinux <mcpcpc[m]> <E5ten "you've got some global variables"> hm. yeah.  ok makes sense. wasnt really sure at the time what the best practice is. will correct as well
2020-07-26T21:52:16 #kisslinux <mcpcpc[m]> just pushed several fixes.
2020-07-26T21:53:20 #kisslinux <mcpcpc[m]> several more to go. lol. thanks again for the help :)
2020-07-26T21:57:34 #kisslinux <E5ten> nw, you also don't free sel at any point (I guess the best place to do that would be at the end of main)
2020-07-26T21:57:45 #kisslinux <E5ten> there might be other stuff you don't free idk, I just know that one
2020-07-26T22:02:32 #kisslinux <E5ten> also, stuff like sel shouldn't be a global var imo, the functions that use it should take it as a parameter
2020-07-26T22:11:03 #kisslinux <mcpcpc[m]> <E5ten "also, stuff like sel shouldn't b"> sure.  makes sense
2020-07-26T22:38:16 #kisslinux <mcpcpc[m]> E5ten: ok. i think all suggested improvements/fixes have been pushed.   will review the local/global variables one more time later. thank again.
2020-07-26T22:42:49 #kisslinux <mcpcpc[m]> ah. and i guess i still need to properly allocate mem for conf variable. hm