127 lines
3.2 KiB
C++
Executable File
127 lines
3.2 KiB
C++
Executable File
//
|
|
// ENTRSC.CPP
|
|
//
|
|
// Source file for ArchiveLib 2.0
|
|
//
|
|
// Copyright (c) Greenleaf Software, Inc. 1994-1996
|
|
// All Rights Reserved
|
|
//
|
|
// CONTENTS
|
|
//
|
|
// ALEntry::SetComment()
|
|
// ALEntrySetComment()
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// February 14, 1996 2.0A : New release
|
|
//
|
|
|
|
#include "arclib.h"
|
|
#if !defined( AL_IBM )
|
|
#pragma hdrstop
|
|
#endif
|
|
|
|
//
|
|
// NAME
|
|
//
|
|
// ALEntry::SetComment()
|
|
//
|
|
// PLATFORMS/ENVIRONMENTS
|
|
//
|
|
// Console Windows PM
|
|
// C++ C VB Delphi
|
|
//
|
|
// SHORT DESCRIPTION
|
|
//
|
|
// Set the comment for an individual entry.
|
|
//
|
|
// C++ SYNOPSIS
|
|
//
|
|
// #include "arclib.h"
|
|
//
|
|
// int ALEntry::SetComment( const char *comment );
|
|
//
|
|
// C SYNOPSIS
|
|
//
|
|
// #include "arclib.h"
|
|
//
|
|
// int ALEntrySetComment( hALEntry this_object,
|
|
// char *comment );
|
|
//
|
|
// VB SYNOPSIS
|
|
//
|
|
// Declare Function ALEntrySetComment Lib "AL20LW"
|
|
// (ByVal this_object&, ByVal comment$) As Integer
|
|
//
|
|
// DELPHI SYNOPSIS
|
|
//
|
|
// function ALEntrySetComment( this_object : hALEntry;
|
|
// comment : PChar ) : Integer;
|
|
//
|
|
// ARGUMENTS
|
|
//
|
|
// this_object : A reference or pointer to the ALEntry object that
|
|
// is going to get the new comment. Note that the C++
|
|
// version of this call doesn't have an explicit argument
|
|
// here, since it has access to 'this' implicitly.
|
|
//
|
|
// comment : The new comment that is going to be associated with the
|
|
// ALEntry object.
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// Before adding an object to an archive, you may want to change or set
|
|
// its comment. You do so by calling this function before performing any
|
|
// operation that will write the directory, such as Create() or
|
|
// WriteDirectory(). It has to dynamically allocate the space in the
|
|
// ALEntry object in order to store the new comment. This is good for
|
|
// you, because it means you don't have to worry about who owns the comment
|
|
// you just passed in.
|
|
//
|
|
// RETURNS
|
|
//
|
|
// AL_SUCCESS if the new comment was set, < 0 if an error occurred.
|
|
//
|
|
// EXAMPLE
|
|
//
|
|
// SEE ALSO
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// February 14, 1996 2.0A : New release
|
|
//
|
|
|
|
int AL_PROTO
|
|
ALEntry::SetComment( const char AL_DLL_FAR *comment ) /* Tag public function */
|
|
{
|
|
if ( mszComment )
|
|
delete[] mszComment;
|
|
if ( comment ) {
|
|
mszComment = new char[ strlen( comment ) + 1 ];
|
|
if ( mszComment )
|
|
strcpy( mszComment, comment );
|
|
else
|
|
return mrList.mStatus.SetError( AL_CANT_ALLOCATE_MEMORY,
|
|
"Failed to allocate memory when "
|
|
"adding comment to storage object %s",
|
|
(char AL_DLL_FAR *) mpStorageObject->mName );
|
|
} else
|
|
mszComment = 0;
|
|
return AL_SUCCESS;
|
|
}
|
|
|
|
#if !defined( AL_NO_C )
|
|
|
|
extern "C" AL_LINKAGE int AL_FUNCTION
|
|
ALEntrySetComment( hALEntry this_object, /* Tag public function */
|
|
char AL_DLL_FAR *comment )
|
|
{
|
|
AL_ASSERT_OBJECT( this_object, ALEntry, "ALEntrySetComment" );
|
|
if ( comment == 0 )
|
|
comment = "";
|
|
return ( (ALEntry *) this_object )->SetComment( comment );
|
|
}
|
|
|
|
#endif
|
|
|