41993926140785562c05be605f5b5c8ca0e9d0ec
Stefan Schuermans add cmdline to proc_begin

Stefan Schuermans authored 4 years ago

liblwpttr/src/stringlist.c  1) #include "stringlist.h"
liblwpttr/src/stringlist.c  2) #include "cleaner.h"
Stefan Schuermans factor reading file to sepr...

Stefan Schuermans authored 4 years ago

liblwptev/src/stringlist.c  3) #include "read_file.h"
Stefan Schuermans add cmdline to proc_begin

Stefan Schuermans authored 4 years ago

liblwpttr/src/stringlist.c  4) 
liblwpttr/src/stringlist.c  5) #include <fcntl.h>
liblwpttr/src/stringlist.c  6) #include <stdlib.h>
liblwpttr/src/stringlist.c  7) #include <string.h>
liblwpttr/src/stringlist.c  8) #include <sys/types.h>
liblwpttr/src/stringlist.c  9) #include <sys/stat.h>
liblwpttr/src/stringlist.c 10) #include <unistd.h>
liblwpttr/src/stringlist.c 11) 
liblwpttr/src/stringlist.c 12) /**
liblwpttr/src/stringlist.c 13)  * @brief make array with pointers to strings
liblwpttr/src/stringlist.c 14)  * @param[in] data pointer to string list
liblwpttr/src/stringlist.c 15)  * @param[in] sz size of string list
liblwpttr/src/stringlist.c 16)  * @param[out] *cnt number of entries in array
liblwpttr/src/stringlist.c 17)  * @return pointer to malloc-ed array of NULL
liblwpttr/src/stringlist.c 18)  */
Stefan Schuermans use libname as prefix for a...

Stefan Schuermans authored 4 years ago

liblwptev/src/stringlist.c 19) static char ** lwptev_stringlist_make_ptrs(char *data, size_t sz,
liblwptev/src/stringlist.c 20)                                            size_t *cnt) {
Stefan Schuermans add cmdline to proc_begin

Stefan Schuermans authored 4 years ago

liblwpttr/src/stringlist.c 21)   /* count strings */
liblwpttr/src/stringlist.c 22)   size_t pos = 0;
liblwpttr/src/stringlist.c 23)   *cnt = 0;
liblwpttr/src/stringlist.c 24)   while (pos < sz) {
liblwpttr/src/stringlist.c 25)     pos += strlen(data + pos) + 1;
liblwpttr/src/stringlist.c 26)     ++*cnt;
liblwpttr/src/stringlist.c 27)   }
liblwpttr/src/stringlist.c 28)   /* allocate array for pointers */
liblwpttr/src/stringlist.c 29)   char **ptrs = malloc(*cnt * sizeof(char *));
liblwpttr/src/stringlist.c 30)   if (! ptrs) {
liblwpttr/src/stringlist.c 31)     *cnt = 0;
liblwpttr/src/stringlist.c 32)     return NULL;
liblwpttr/src/stringlist.c 33)   }
liblwpttr/src/stringlist.c 34)   /* fill pointers into array */
liblwpttr/src/stringlist.c 35)   pos = 0;
liblwpttr/src/stringlist.c 36)   for (size_t i = 0; i < *cnt; ++i) {
liblwpttr/src/stringlist.c 37)     ptrs[i] = data + pos;
liblwpttr/src/stringlist.c 38)     pos += strlen(data + pos) + 1;
liblwpttr/src/stringlist.c 39)   }
liblwpttr/src/stringlist.c 40)   return ptrs;
liblwpttr/src/stringlist.c 41) }
liblwpttr/src/stringlist.c 42) 
Stefan Schuermans use libname as prefix for a...

Stefan Schuermans authored 4 years ago

liblwptev/src/stringlist.c 43) int lwptev_stringlist_read(char const *pathname, size_t *n, char ***strs,
liblwptev/src/stringlist.c 44)                            lwptev_cleaner_t *cleaner) {
Stefan Schuermans add cmdline to proc_begin

Stefan Schuermans authored 4 years ago

liblwpttr/src/stringlist.c 45)   *n = 0;
liblwpttr/src/stringlist.c 46)   *strs = NULL;
liblwpttr/src/stringlist.c 47)   /* read file contents */
liblwpttr/src/stringlist.c 48)   size_t sz;
Stefan Schuermans factor reading file to sepr...

Stefan Schuermans authored 4 years ago

liblwptev/src/stringlist.c 49)   char *data = lwptev_read_file(pathname, &sz);
Stefan Schuermans add cmdline to proc_begin

Stefan Schuermans authored 4 years ago

liblwpttr/src/stringlist.c 50)   if (! data) {
Stefan Schuermans lwpttr -> lwptev

Stefan Schuermans authored 4 years ago

liblwptev/src/stringlist.c 51)     lwptev_cleaner_cleanup(cleaner);
Stefan Schuermans add cmdline to proc_begin

Stefan Schuermans authored 4 years ago

liblwpttr/src/stringlist.c 52)     return -1;
liblwpttr/src/stringlist.c 53)   }
Stefan Schuermans lwpttr -> lwptev

Stefan Schuermans authored 4 years ago

liblwptev/src/stringlist.c 54)   lwptev_cleaner_add_ptr(cleaner, data);
Stefan Schuermans add cmdline to proc_begin

Stefan Schuermans authored 4 years ago

liblwpttr/src/stringlist.c 55)   /* create pointer array */
liblwpttr/src/stringlist.c 56)   size_t cnt;
Stefan Schuermans use libname as prefix for a...

Stefan Schuermans authored 4 years ago

liblwptev/src/stringlist.c 57)   char **ptrs = lwptev_stringlist_make_ptrs(data, sz, &cnt);
Stefan Schuermans add cmdline to proc_begin

Stefan Schuermans authored 4 years ago

liblwpttr/src/stringlist.c 58)   if (! ptrs) {
Stefan Schuermans lwpttr -> lwptev

Stefan Schuermans authored 4 years ago

liblwptev/src/stringlist.c 59)     lwptev_cleaner_cleanup(cleaner);
Stefan Schuermans add cmdline to proc_begin

Stefan Schuermans authored 4 years ago

liblwpttr/src/stringlist.c 60)     return -1;
liblwpttr/src/stringlist.c 61)   }
Stefan Schuermans lwpttr -> lwptev

Stefan Schuermans authored 4 years ago

liblwptev/src/stringlist.c 62)   lwptev_cleaner_add_ptr(cleaner, ptrs);