auto-apt
When you want to build a program from source and it fails due to missing headers. Auto-apt can search what package would provide the header files.
(from https://help.ubuntu.com/community/AutoApt)
Log
- Started: 2012-01-24
- Discussed: 2012-01-26
- Draft Submitted: -
- Submitted: 2012-02-07, Bug#659025
- Accepted: 2013-05-13, by Barry deFreese
ToDo
The output of grep -R PATH_MAX auto-apt-0.3.22/*
is a bit long. It contains files that have been patched using #define PATH_MAX XYZ
.
Here is the only file of interest:
pkgcdb/pkgtab.c: char buf[PATH_MAX];
pkgcdb/pkgtab.c: assert(p - pkg < PATH_MAX);
pkgcdb/pkgtab.c: static char buf[PATH_MAX];
pkgcdb/pkgtab.c: assert(len < PATH_MAX);
Comments
+++ auto-apt-0.3.22/auto-apt-pkgcdb.c 2012-02-03 09:25:54.045858173 +0100
+ unsigned char *buf = NULL;
+ while (!feof(stdin)) {
unsigned char *fname, *pkg;
unsigned char *p;
int nslash = 0;
+ buf = get_line(stdin);
+ if (buf == NULL)
+ break;
Reading from stdin
using the get_line()
function as explained in the porting guide.
+ free(buf);
+++ auto-apt-0.3.22/pkgcdb/pkgtab.c 2012-01-30 09:05:07.883096049 +0100
+ char *buf = NULL;
+ buf = (char *)malloc(p - pkg + 1);
+ if (buf == NULL) {
+ abort();
+ }
+ free(buf);
- static char buf[PATH_MAX];
+ static char *buf;
+ if (buf != NULL) {
+ free(buf);
+ }
+ buf = (char *)malloc(len + 1);
+ if (buf == NULL) {
+ abort();
+ }