File azan.c changed (mode: 100644) (index c836a8e..d6c93fb) |
... |
... |
static time_t* |
345 |
345 |
read_azan_cache_file(char* azan_cache_file) |
read_azan_cache_file(char* azan_cache_file) |
346 |
346 |
{ |
{ |
347 |
347 |
FILE* fp; |
FILE* fp; |
348 |
|
char buffer[2048]; |
|
349 |
|
|
|
350 |
|
/* Read the cache file */ |
|
351 |
|
fp = fopen(azan_cache_file,"r"); |
|
352 |
|
FAIL_IF(fp == NULL, "[Error] opening azan cache file."); |
|
353 |
|
(void)fread(buffer, 2048, 1, fp); |
|
354 |
|
(void)fclose(fp); |
|
|
348 |
|
char buffer[128]; |
355 |
349 |
|
|
356 |
350 |
time_t* pray_times_array; /* the returned array */ |
time_t* pray_times_array; /* the returned array */ |
357 |
351 |
pray_times_array = calloc(6, sizeof(time_t)); |
pray_times_array = calloc(6, sizeof(time_t)); |
358 |
352 |
FAIL_IF(pray_times_array == NULL, "[Error] allocating memory."); |
FAIL_IF(pray_times_array == NULL, "[Error] allocating memory."); |
359 |
353 |
char* tmp_pray[6]; /* string array hold temp values for checking */ |
char* tmp_pray[6]; /* string array hold temp values for checking */ |
360 |
354 |
|
|
361 |
|
/* |
|
362 |
|
* split each key value sepeated by <\n> |
|
363 |
|
* the first strtok take the string |
|
364 |
|
* if the value is not NULL: |
|
365 |
|
* 1-convert to time_t 2-assign to returned array |
|
366 |
|
*/ |
|
367 |
|
char delim[] = "\n"; |
|
368 |
|
|
|
369 |
|
tmp_pray[0] = strtok(buffer, delim); |
|
370 |
|
FAIL_IF(tmp_pray[0] == NULL, "[Error] reading cache file"); |
|
371 |
|
pray_times_array[0] = (time_t)atol(tmp_pray[0]); |
|
|
355 |
|
/* Read the cache file */ |
|
356 |
|
fp = fopen(azan_cache_file,"r"); |
|
357 |
|
FAIL_IF(fp == NULL, "[Error] opening azan cache file."); |
372 |
358 |
|
|
373 |
|
for(int i=1; i<5; i++){ |
|
374 |
|
tmp_pray[i] = strtok(NULL, delim); |
|
|
359 |
|
int i = 0; |
|
360 |
|
while(fgets(buffer, (int)sizeof(buffer), fp) != NULL) { |
|
361 |
|
tmp_pray[i] = buffer; |
375 |
362 |
if (tmp_pray[i] != NULL) { |
if (tmp_pray[i] != NULL) { |
376 |
363 |
pray_times_array[i] = (time_t)atol(tmp_pray[i]); |
pray_times_array[i] = (time_t)atol(tmp_pray[i]); |
377 |
364 |
} |
} |
|
365 |
|
i++; |
378 |
366 |
} |
} |
379 |
367 |
|
|
380 |
|
tmp_pray[5] = buffer; |
|
381 |
|
if (tmp_pray[5] != NULL) { |
|
382 |
|
puts(tmp_pray[5]); |
|
383 |
|
pray_times_array[5] = (time_t)atol(tmp_pray[5]); |
|
384 |
|
} |
|
385 |
|
|
|
386 |
|
|
|
|
368 |
|
FAIL_IF(fclose(fp) != 0, "[Error] can't close cache file'"); |
387 |
369 |
FAIL_IF(pray_times_array == NULL, "[Error] pray_times_array is NULL."); |
FAIL_IF(pray_times_array == NULL, "[Error] pray_times_array is NULL."); |
388 |
370 |
return pray_times_array; |
return pray_times_array; |
389 |
371 |
} |
} |