Path: ...!news.mixmin.net!news2.arglkargh.de!news.karotte.org!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: ted@loft.tnolan.com (Ted Nolan ) Newsgroups: comp.lang.c Subject: Re: Command line globber/tokenizer library for C? Date: 12 Sep 2024 03:56:09 GMT Organization: loft Lines: 76 Message-ID: References: <87cyl9zx14.fsf@nosuchdomain.example.com> <87r09py23h.fsf@nosuchdomain.example.com> X-Trace: individual.net dPMJznmLtDQ+mclBB6pLYgPg9IFWKvCsEVQlYxPbaLMIOd7/Qx X-Orig-Path: not-for-mail Cancel-Lock: sha1:kQZcIGHXcxIeAO2WgoeWpSM04vY= sha256:j8OBcmRe2T4XjBAtra5XBJGbNGXr7hXcPr/lLCRCEss= X-Newsreader: trn 4.0-test76 (Apr 2, 2001) Bytes: 4363 In article <87r09py23h.fsf@nosuchdomain.example.com>, Keith Thompson wrote: >ted@loft.tnolan.com (Ted Nolan ) writes: >> In article <87cyl9zx14.fsf@nosuchdomain.example.com>, >> Keith Thompson wrote: >>>ted@loft.tnolan.com (Ted Nolan ) writes: >>>> In article , >>>> Bonita Montero wrote: >>>>>Am 11.09.2024 um 16:59 schrieb Kenny McCormack: >>>>>> In article , >>>>>> Bonita Montero wrote: >>>>>>> Do you think it would make sense to switch the language ? >>>>> >>>>>> Do you think it would make sense to pay attention to the "Newsgroups" line >>>>>> in your header before clicking "Send"? >>>>> >>>>>I just wanted to suggest a simpler language. >>>>>Compare that with a manual implementation of the same in C. >>>> >>>> Thanks, I appreciate that, but it does have to be C. >>> >>>We could help you more effectively if we understood your requirements. >>> >>>Why exactly does it have to be C? >>> >>>What system or systems do you need to support? (I asked this before and >>>you didn't answer.) >>> >>>If you only care about Windows, for example, that's going to affect what >>>solutions we can offer; likewise if you only care about POSIX-based >>>systems, or only about Linux-based systems. >>> >>>It might also be useful to know more about the context. If this is for >>>some specific application, what is that application intended to do, and >>>why does it need to do tokenization and globbing? >> >> This would be for work, so I am limited in what I can say about it, but >> it has to be in C because it is would be a C callout from a GT.M mumps >> process. GT.M stores the command line tail (everything it doesn't need >> to get a program running) in the special variable $ZCMDLINE which can >> be passed to a callout. I would like to parse that string as the >> shell does a command line. Basically, if it isn't a C library that >> is commonly available through Linux package managers I probably can't >> use it. In the end this is a "nice to have" and I have a q&d approach >> that I will probably use. > >Since you mentioned Linux package managers, I presume this only needs to >work on Linux-based systems, which means you can use POSIX-specific >functions. That could have been useful to know earlier. > >And you might consider posting to comp.unix.programmer for more >system-specific solutions. > >Earlier I suggested using system() to pass the string to the shell. >That wouldn't work on Windows, but it should be ok for your >requirements. There are good reasons not to want to do that, but "there >might not be a POSIX shell available" apparently isn't one of them. > >I'd also suggest nailing down your exact requirements; "as the >shell does" is inexact, since different shells behave differently. > >Suggested reading: >https://pubs.opengroup.org/onlinepubs/9799919799/utilities/V3_chap02.html > >-- >Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com >void Void(void) { Void(); } /* The recursive call of the void */ Thank you. system() would not work as I don't want to execute anything, just parse into an argv-like array. I appreciate the responses, but it looks like I will be staying with my q&d approach for now. -- columbiaclosings.com What's not in Columbia anymore..