CSA_attribute_reference name = CSA_ENTRY_ATTR_END_DATE;
char buffer[80];
time_t endtime;
CSA_entry_handle new_entry;
for (i = 0; i < num_entries; i++) {
/* アポイントの終了時間を取得します */
stat = csa_read_entry_attributes(cal, entries[i], 0, &name,
&num_attributes, &entry_attrs, NULL);
if (stat == CSA_SUCCESS) {
/* 終了時間を 1 時間後に変更します */
from_iso8601_time(entry_attrs[0].value->item.date_time_value, &endtime);
endtime += 60*60 /* 1 時間の秒数 */
to_iso8601_time(endtime, buffer);
attrs[0].name = CSA_ENTRY_ATTR_END_DATE;
attrs[0].value = &attr_val[i];
attrs[0].attribute_extensions = NULL;
attr_val[0].type = CSA_VALUE_DATE_TIME;
attr_val[0].item.date_time_value = buffer;
stat = csa_update_entry_attributes(cal, entries[0], CSA_SCOPE_ALL,
CSA_FALSE, 1, attrs, &new_entry,
NULL); if (stat == CSA_SUCCESS) {
csa_free(new_entry);
} else {
/* ハンドル・エラー */
}
csa_free(entry_attrs);
} else {
/* ハンドル・エラー */
}
}
|