create common proc_tools

proc_put, proc_get and proc_get_hex are used in many files.
Avoid duplication by moving them to common/proc_tools.c.
Convert azbox's cVideo to use proc_tools.h


Origin commit data
------------------
Branch: master
Commit: 47941bd849
Author: Stefan Seyfried <seife@tuxbox-git.slipkontur.de>
Date: 2012-06-24 (Sun, 24 Jun 2012)



------------------
This commit was generated by Migit
This commit is contained in:
Stefan Seyfried
2012-06-24 12:26:03 +02:00
parent 33996776d4
commit 5fa64f43b8
5 changed files with 86 additions and 46 deletions

View File

@@ -34,6 +34,9 @@
#include <linux/types.h>
#include <linux/dvb/video.h>
#include <proc_tools.h>
#include "video_lib.h"
#define VIDEO_DEVICE "/dev/dvb/adapter0/video0"
#include "lt_debug.h"
@@ -67,50 +70,6 @@ static bool stillpicture = false;
#define VIDEO_STREAMTYPE_VC1_SM 5
#define VIDEO_STREAMTYPE_MPEG1 6
static int proc_put(const char *path, const char *value, const int len)
{
int ret, ret2;
int pfd = open(path, O_WRONLY);
if (pfd < 0)
return pfd;
ret = write(pfd, value, len);
ret2 = close(pfd);
if (ret2 < 0)
return ret2;
return ret;
}
static int proc_get(const char *path, char *value, const int len)
{
int ret, ret2;
int pfd = open(path, O_RDONLY);
if (pfd < 0)
return pfd;
ret = read(pfd, value, len);
value[len-1] = '\0'; /* make sure string is terminated */
if (ret >= 0)
{
while (ret > 0 && isspace(value[ret-1]))
ret--; /* remove trailing whitespace */
value[ret] = '\0'; /* terminate, even if ret = 0 */
}
ret2 = close(pfd);
if (ret2 < 0)
return ret2;
return ret;
}
static unsigned int proc_get_hex(const char *path)
{
unsigned int n, ret = 0;
char buf[16];
n = proc_get(path, buf, 16);
if (n > 0)
sscanf(buf, "%x", &ret);
return ret;
}
cVideo::cVideo(int, void *, void *)
{
lt_debug("%s\n", __FUNCTION__);