rust/file: change return type for FileOpenFileWithId

Make it int so we can easily check it in Rust. No consumer used the
File pointer that was returned before anyway.
pull/3201/head
Victor Julien 9 years ago
parent 288ddc95ac
commit 45c5030ff0

@ -81,7 +81,7 @@ pub type SCFileOpenFileWithId = extern "C" fn (
track_id: u32,
name: *const u8, name_len: u16,
data: *const u8, data_len: u32,
flags: u16) -> File;
flags: u16) -> i32;
pub type SCFileCloseFileById = extern "C" fn (
file_container: &FileContainer,
track_id: u32,

@ -49,12 +49,11 @@ impl FileContainer {
None => panic!("BUG no suricata_config"),
Some(c) => {
SCLogDebug!("FILE {:p} OPEN flags {:04X}", &self, flags);
//let ref res =
(c.FileOpenFile)(&self, cfg.files_sbcfg, *track_id,
let res = (c.FileOpenFile)(&self, cfg.files_sbcfg, *track_id,
name.as_ptr(), name.len() as u16,
ptr::null(), 0u32, flags);
0
res
}
}
}

@ -26,7 +26,7 @@ typedef struct SuricataContext_ {
uint8_t);
void (*AppLayerDecoderEventsFreeEvents)(AppLayerDecoderEvents **);
File *(*FileOpenFileWithId)(FileContainer *, const StreamingBufferConfig *,
int (*FileOpenFileWithId)(FileContainer *, const StreamingBufferConfig *,
uint32_t track_id, const uint8_t *name, uint16_t name_len,
const uint8_t *data, uint32_t data_len, uint16_t flags);
int (*FileCloseFileById)(FileContainer *, uint32_t track_id,

@ -829,17 +829,21 @@ File *FileOpenFile(FileContainer *ffc, const StreamingBufferConfig *sbcfg,
SCReturnPtr(ff, "File");
}
File *FileOpenFileWithId(FileContainer *ffc, const StreamingBufferConfig *sbcfg,
/**
* \retval 0 ok
* \retval -1 failed */
int FileOpenFileWithId(FileContainer *ffc, const StreamingBufferConfig *sbcfg,
uint32_t track_id, const uint8_t *name, uint16_t name_len,
const uint8_t *data, uint32_t data_len, uint16_t flags)
{
File *ff = FileOpenFile(ffc, sbcfg, name, name_len, data, data_len, flags);
if (ff == NULL)
return NULL;
return -1;
ff->file_track_id = track_id;
ff->flags |= FILE_USE_TRACKID;
return ff;
return 0;
}
static int FileCloseFilePtr(File *ff, const uint8_t *data,

@ -126,7 +126,7 @@ void FileContainerAdd(FileContainer *, File *);
File *FileOpenFile(FileContainer *, const StreamingBufferConfig *,
const uint8_t *name, uint16_t name_len,
const uint8_t *data, uint32_t data_len, uint16_t flags);
File *FileOpenFileWithId(FileContainer *, const StreamingBufferConfig *,
int FileOpenFileWithId(FileContainer *, const StreamingBufferConfig *,
uint32_t track_id, const uint8_t *name, uint16_t name_len,
const uint8_t *data, uint32_t data_len, uint16_t flags);

Loading…
Cancel
Save