if ((finfo = malloc(sizeof(struct stat))) == NULL)

Try this:
if ((finfo = (void *)malloc(sizeof(struct stat))) == NULL)


The warning, in this case, is harmless.

As for timestamps on /proc/ "files", you have to keep in mind (or you have to know, first) that there are NO files under /proc/.

What you see there that look like files, are not really files. When you try and read from them, what happens is that the kernel generates the data on-the-fly, each time you read from them.

Otherwise, the data does not exist, and therefore cannot have a timestamp.

The data in those "files" is generated on-demand, whenever they are read.

Got it?