Files
2026-08-07 17:38:18 +09:00

74 lines
1.2 KiB
C

#include <stdio.h>
#include <stdlib.h>
#define RCACCT_CONF_PATH "/user/service/etc/rcacct.conf"
int devide(char **val, char *str, char delim)
{
char *p;
int i, j;
val[0] = (char *)malloc(512);
memset(val[0], 0, 512);
for (p=str, i=0, j=0; *p != '\0'; p++)
{
if (*p == delim)
{
*(val[i] + j) = '\0';
j = 0;
i++;
val[i] = (char *)malloc(sizeof(char) * 2 + 1);
memset(val[i], 0, sizeof(char)*2+1);
continue;
}
//else if (*p == '\n')
//{
// continue;
//}
else
{
*(val[i] + j++) = *p;
}
}
*(val[i] + j) = '\0';
return (i+1);
}
int rcacctFind(char **param, char *ipString)
{
FILE *acct_ifp = NULL;
char delim = ':';
char buff[1024];
int num;
acct_ifp = fopen(RCACCT_CONF_PATH, "r");
if (acct_ifp == NULL)
{
fprintf(stderr, "cannot open rcacct file!\n");
exit(1);
}
while(fgets(buff, 1024, acct_ifp) != NULL)
{
fprintf(stderr, "buff : %s", buff);
/* extraction information */
num = devide(param, buff, delim);
fprintf(stderr, "param[0] : %s\n", param[4]);
if (!strcmp(ipString, param[0]))
{
break;
}
}
return num;
}
int main()
{
char *param[512];
int param_num;
param_num = rcacctFind(param, "rc105-test");
exit(0);
}