NOTEHANDLE hOldNote;
NOTEHANDLE hNewNote;
STATUS error;
OID oidNew;
if (error = NSFNoteOpen (
*(DBHANDLE*)db_handle,
NoteID,
0, /* open flags */
&hOldNote)) /* note handle (return) */
{
printf("Error: unable to open note %lx.\n", NoteID);
return (ERR(error));
}
if (error = NSFNoteCopy(hOldNote, &hNewNote))
{
printf("Error: unable to copy note.\n");
NSFNoteClose(hOldNote);
return(ERR(error));
}
if (error = NSFDbGenerateOID(*(DBHANDLE*)db_handle, &oidNew))
{
printf("Error: unable to generate new OID.\n");
NSFNoteClose(hNewNote);
NSFNoteClose(hOldNote);
return(ERR(error));
}
NSFNoteSetInfo(hNewNote, _NOTE_ID, NULL);
NSFNoteSetInfo(hNewNote, _NOTE_OID, &oidNew);
NSFNoteSetInfo(hNewNote, _NOTE_DB, &db_handle2);
if (error = NSFNoteUpdate (hNewNote, UPDATE_FORCE))
{
printf("Error: unable to update note to DB.\n");
NSFNoteClose(hNewNote);
return(ERR(error));
}
if (error = NSFNoteClose(hNewNote))
{
printf("Error: unable to close new note.\n");
return(ERR(error));
}