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; }
static int config_parse_unsigned(unsigned *dest, const char *val) { if (is_all_digit(val)) *dest = atoi(val); else return 0; return 1; }
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; }
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; }