Beispiel #1
0
int read_jpg_dir(char *path,char *file_desk[],int *pic_num)
{	

	DIR *dir = opendir(path);
	if(dir == NULL){
		fprintf(stderr,"open dir failed,%s\n",strerror(errno));	
		return -1;	
	}

	struct dirent *files;
	*pic_num = 0;
	while((files = readdir(dir)) != NULL)
	{
		if(is_all_digit(files->d_name) == 1)	
			continue;
		if(strstr(files->d_name,".jpg") == NULL)
			continue;

		//fprintf(stdout,"%s\n",files->d_name);
		file_desk[*pic_num] = malloc(sizeof(char) * strlen(files->d_name) + 1);

		if(file_desk[*pic_num] == NULL){
			fprintf(stderr,"malloc for file_desk[%d] failed,%s\n",*pic_num,strerror(errno));	
			return -2;
		}
		memcpy(file_desk[*pic_num],files->d_name,strlen(files->d_name));
		file_desk[*pic_num][strlen(files->d_name)] = '\0';
		//fprintf(stdout,"file_desk[%d] %s\n",*pic_num,file_desk[*pic_num]);
		(*pic_num)++;
	}
	closedir(dir);
	return 0;
}
Beispiel #2
0
static int config_parse_unsigned(unsigned *dest, const char *val)
{
	if (is_all_digit(val))
		*dest = atoi(val);
	else
		return 0;

	return 1;
}
Beispiel #3
0
static int config_parse_int(int *dest, const char *val)
{
	if ((*val == '+' || *val == '-' || isdigit(*val))
	    && is_all_digit(val + 1))
		*dest = atoi(val);
	else
		return 0;

	return 1;
}
Beispiel #4
0
static int ipaddrrange_new_sub(Value *vret, const char *ipaddr, const char *mask)
{
    RefSockAddr *rsa = cstr_to_ipaddr(ipaddr, TRUE);

    if (rsa == NULL) {
        return FALSE;
    }
    if (mask == NULL || mask[0] == '\0') {
        rsa->mask_bits = 128;
    } else if (is_all_digit(mask)) {
        long bits;
        errno = 0;
        bits = strtol(mask, NULL, 10);
        if (errno == 0 && bits >= 0) {
            rsa->mask_bits = bits;
        }
    } else {
        struct addrinfo *ai = NULL;
        int err = getaddrinfo_sub(&ai, mask, NULL, AI_NUMERICHOST);
        if (err != 0) {
            throw_socket_error(err);
            return FALSE;
        }
        if (ai != NULL) {
            rsa->mask_bits = get_mask_bit_count(sockaddr_bytes(ai->ai_addr), sockaddr_bytes_count(ai->ai_addr));
        } else {
            fs->throw_errorf(fs->mod_io, "SocketError", "No address found");
            return FALSE;
        }
        freeaddrinfo(ai);
    }

    {
        int max_bits = sockaddr_bytes_count(rsa->addr) * 8;
        if (rsa->mask_bits > max_bits) {
            rsa->mask_bits = max_bits;
        }
    }

    *vret = vp_Value(rsa);
    return TRUE;
}