aboutsummaryrefslogtreecommitdiffstats
path: root/file.c
Commit message (Collapse)AuthorAgeFilesLines
* add a new feature: list the files of a "File Set" (set of files generated by ↵Ulf Lamping2005-04-291-0/+7
| | | | | | capturing "Multiple Files"/ringbuffer) and jump from one file of it to the next/previous one svn path=/trunk/; revision=14231
* statusbar changes:Ulf Lamping2005-04-181-14/+1
| | | | | | | -show the current capture file size, if capturing in real time mode. -move the packet "Drops" count (if available) from file to packets statusbar part svn path=/trunk/; revision=14130
* bugfix: show the right filesize after a live capture finishedUlf Lamping2005-04-171-0/+14
| | | | svn path=/trunk/; revision=14118
* add functions file_exists and file_identical to filesystem.c (coming from ↵Ulf Lamping2005-04-121-18/+3
| | | | | | file.c) svn path=/trunk/; revision=14057
* it should now be possible to use "Update packets in real time" even if used ↵Ulf Lamping2005-04-121-0/+6
| | | | | | | | | | | with one of the "Multiple files" option. If this is used together with an option where input files changes too fast (e.g. new file every second), capturing will be (hopefully) stopped. I've replaced the former capture pipe message format into a somewhat more general format to remove a lot of confusion. svn path=/trunk/; revision=14054
* bugfixes: bring non real-time captures back to former behaviour, other minor ↵Ulf Lamping2005-03-281-5/+0
| | | | | | fixes svn path=/trunk/; revision=13961
* a lot more capture engine code cleanupUlf Lamping2005-03-281-0/+6
| | | | | | | | | most notably: - moved opening of safe_file to the capture child (capture_loop.c) - removed save_file_fd from capture_opts (no longer need to have it global) svn path=/trunk/; revision=13953
* move some color_filter related things from file.c to color_filters.cUlf Lamping2005-03-261-54/+7
| | | | svn path=/trunk/; revision=13920
* code cleanup: use common prefix for all functions in color_filters.hUlf Lamping2005-03-261-1/+1
| | | | svn path=/trunk/; revision=13910
* code cleanup: the term filter_list was used with different meanings ↵Ulf Lamping2005-03-251-6/+6
| | | | | | | | throughout the code, and the filter_list of the color_filters is "global". use appropriate prefixes to avoid confusion and bugs svn path=/trunk/; revision=13905
* Add a "cleanup_dissection()" routine, intended to free up dataGuy Harris2005-03-231-0/+2
| | | | | | | | | | | structures allocated by a dissection. Currently, it's the same as "init_dissection()", but they should be split with "init_dissection()" allocating the initial data structures and "cleanup_dissection()" freeing them and *not* reallocating the initial data structures. Use "cleanup_dissection()" in "cf_close()" to make it easier to find leaks. svn path=/trunk/; revision=13881
* from didierRonnie Sahlberg2005-03-191-4/+1
| | | | | | | | small fix to file.c svn path=/trunk/; revision=13807
* from Stefano Pettini: add CSV export function, similar to PSML exportUlf Lamping2005-03-111-0/+71
| | | | svn path=/trunk/; revision=13724
* bugfix in PSML export output: the epan API slightly changed, ↵Ulf Lamping2005-03-091-0/+1
| | | | | | epan_dissect_fill_in_columns must be called now to fill in column data. This resulted in missing values in PSML output. svn path=/trunk/; revision=13674
* Another step towards using the parent/child mode for ALL captures.Ulf Lamping2005-02-281-0/+12
| | | | | | This is currently still disabled, as we cannot pass all required capture flags to the child process (lack of command line parameters). svn path=/trunk/; revision=13558
* Have "cf_merge_files()" take a pointer-to-pointer-to-char as the outputGuy Harris2005-02-171-1/+24
| | | | | | | | | file name argument; if the pointed-to pointer is null, it opens a temporary file, and sets that pointer to a mallocated copy of the pathname of the temporary file. It no longer needs a file descriptor as an argument. svn path=/trunk/; revision=13419
* Have "cf_merge_files()" always close "out_fd" before returning; it doesGuy Harris2005-02-151-0/+1
| | | | | | | | | | so if "wtap_dump_fdopen()" succeeds (as a side-effect of calling "wtap_dump_close()"), even if "cf_merge_fails()" after that, so it should do so if it fails. That means we don't need to close it in the callers of "cf_merge_files()". svn path=/trunk/; revision=13407
* change nmake makefiles in /trunk and /trunk/epan so thatLars Roland2005-02-131-4/+0
| | | | | | | | | | | | object code for libethereal.dll isn't generated by the makefile in /trunk. Having no code in /trunk linked into libethereal.dll anymore, the definition of the macro _NEED_VAR_IMPORT_ can be moved from various source files in /trunk to /trunk/Makefile.nmake . So do that, too. svn path=/trunk/; revision=13389
* bugfix for sync_mode captures, wasn't started correctly ↵Ulf Lamping2005-02-101-1/+7
| | | | | | (cf_callback_invoke(cf_cb_live_capture_started); was never called) svn path=/trunk/; revision=13369
* Move the code to set the title on a window when a capture is in progressGuy Harris2005-02-071-15/+24
| | | | | | | | | | to the "start live capture" callback, and call that from "do_capture()". When opening a capture file, don't pop up the "What do you want to do?" pane when closing any existing file you have open, as we're just going to put the regular view up right after that. svn path=/trunk/; revision=13332
* Declare "cf_callback_t" before using it in a further declaration.Guy Harris2005-02-071-4/+2
| | | | | | | | | Mark the "func" argument to "cf_callback_remove()" as unused. Get rid of the "iface" argument to "cf_start_tail()", as it's no longer used. svn path=/trunk/; revision=13331
* Instead of calling each single thing when doing/finish a file operation, ↵Ulf Lamping2005-02-071-154/+49
| | | | | | | | | | | | file.c shouldn't call all the GUI related functions itself, instead throwing some kind of Events to it's caller(s). I've implemented a very simple callback mechanism which provides exactly this. I've tried GHook from GLib before, but this doesn't seem to be the right thing, as it's too inflexible for the purpose here. So I've implemented a callback function in main.c which receives all "events" and spreads them to menu, statusbar and itself. I would see this implementation as a prototype which may need improvements. Please comment the changes. svn path=/trunk/; revision=13330
* Don't have "set_menus_for_captured_packets()" callGuy Harris2005-02-061-0/+13
| | | | | | | | | | | "main_set_for_capture_file()"; it should only deal with menus, not anything else - and it gets called while the menus are being set up, which is before the main window has been completely created, so "main_widgets_show_or_hide()", which is called by "main_set_for_capture_file()", gets errors trying to show or hide widgets the pointers to which are null. svn path=/trunk/; revision=13328
* another two steps towards privilege seperation:Ulf Lamping2005-02-061-15/+2
| | | | | | | | | move another two capture related fields (iface and cfilter) from cfile to capture_opts also move the handling of capture related command line options from main.c to capture.c, that way a future privilege seperated capture program can use the same code to parse it's command line than Ethereal. It might be even possible to share this parser code even with Tethereal, didn't took a closer look at this. svn path=/trunk/; revision=13320
* use the interfaces descriptive name to be shown in the statusbar as it's, ↵Ulf Lamping2005-02-051-1/+2
| | | | | | well, more descriptive svn path=/trunk/; revision=13307
* minor enhancements to Guy's last updateUlf Lamping2005-02-051-12/+13
| | | | svn path=/trunk/; revision=13304
* Put "cf_status_t" back.Guy Harris2005-02-051-34/+34
| | | | svn path=/trunk/; revision=13303
* make some string parameters const, as they are not changed insideUlf Lamping2005-02-051-6/+6
| | | | svn path=/trunk/; revision=13298
* Instead of having a single enumerated type for status return values fromGuy Harris2005-02-041-25/+25
| | | | | | | | | cf_ functions, have separate ones for different classes of routines, and use gboolean when the return value is just "success" or "failure" - that way you don't get compiler warnings if a case statement isn't handling a particular status value if the routine in question won't return it. svn path=/trunk/; revision=13293
* Properly define "cf_start_tail()".Guy Harris2005-02-041-1/+1
| | | | svn path=/trunk/; revision=13292
* huge cleanup of capture file API (functions in file.c/file.h).Ulf Lamping2005-02-041-110/+112
| | | | | | | | This includes: all functions in file.h now have a cf_ prefix, will have doxygen tags, will have the capture_file *cf as the first parameter and I tried to generalize the return values for non trivial functions. Hopefully, I didn't introduced any new bugs, as I had to change a lot of files... svn path=/trunk/; revision=13289
* remove #include "globals.h" and access to global cfile, use access functions ↵Ulf Lamping2005-02-041-0/+4
| | | | | | and capture_opts instead svn path=/trunk/; revision=13284
* remove #include "globals.h" and access to global cfile, use access functions ↵Ulf Lamping2005-02-041-0/+14
| | | | | | and capture_opts instead svn path=/trunk/; revision=13283
* (some) redesign of capture data structures.Ulf Lamping2005-02-041-0/+26
| | | | | | | don't use global cfile at all but only an untpyed handle to call the cf_... functions in file.c move the save_file member from capture_file to capture_opts, as it's only used while capturing and while preparing it svn path=/trunk/; revision=13276
* "gtk_entry_get_text()" returns a "const char *" - assign the result toGuy Harris2004-12-311-26/+28
| | | | | | | | | | | | | | | | | | | | | | | | one. "get_basename()" doesn't modify its argument, and its callers don't modify the substring pointed to by the result, so make it take a "const char *" as an argument and return a "const char *". "find_last_pathname_separator()" doesn't modify its argument, so make it a "const char *" - but some of its callers pass a non-"const" "char *" and modify the result, so don't make its return value a "const char *". And, as none of its callers are outside "filesystem.c", make it static. In "about_folders_page_new()", have separate variables for pathnames returned as "const char *" (which are cached by the routine that returns them, so you can't modify them - and can't free them, so get rid of the commented-out "g_free()" calls for them) and pathnames returned as "char *" (which are allocated anew for each call, and can be modified, but have to be freed). Clean up white space. svn path=/trunk/; revision=12881
* Make the tone of the error messages a bit less formal, by usingGuy Harris2004-12-291-11/+11
| | | | | | | contractions. (Safari does, at least when you're trying to open a file to which you don't have read access.) svn path=/trunk/; revision=12852
* The common merge code merely needs to offer the abstraction of routinesGuy Harris2004-10-291-32/+109
| | | | | | | | | | | | | that return the next packet from a set of {chronologically sorted, sequential-by-file} packets; it doesn't need to have a loop over all those packets, or any code to write packets. Supply those abstractions, change the code that merges packets to do its own writing, and have the Ethereal version manage a progress bar and have the mergecap version print packet numbers in verbose mode, as the common merge code used to do. svn path=/trunk/; revision=12427
* Make "merge_files()" and "merge_append_files()" return a tri-stateGuy Harris2004-10-281-10/+73
| | | | | | | | | | indication - success, read failure, write failure - and have their callers handle read failures by looking for the file that got the read failure and reporting the failure in question. Free up the err_info string returned by "wtap_read()" after using it. svn path=/trunk/; revision=12423
* Remove all the verbose-mode code from merge.c, and put most of it inGuy Harris2004-10-281-3/+2
| | | | | | | | | | | | mergecap.c (get rid of the verbose printing of information for each packet). Have "merge_append_files()" return FALSE only on a write error, as "merge_files()" does. Sort the routines in "merge.c" in the order from "merge.h". svn path=/trunk/; revision=12422
* Get rid of merge_n_files() - it's only called in one place now, andGuy Harris2004-10-271-24/+36
| | | | | | absorbing its logic into "cf_merge_files()" simplifies things a bit. svn path=/trunk/; revision=12421
* Change some of the merge.c APIs to return more information on failure,Guy Harris2004-10-271-0/+35
| | | | | | | | | | | | | and use that information to provide better error messages. Have "merge_open_outfile()" do all the work of filling in the merge_out_file_t structure, with the values to use passed as arguments. Get rid of some structure members that used to be used solely to pass information to "merge_open_outfile()". Add a "cf_merge_files()" routine to do the merging and reporting of errors. svn path=/trunk/; revision=12420
* Move the column preferences stuff to epan (the rest of the preferencesGuy Harris2004-09-291-1/+1
| | | | | | | | stuff is already there). Update Gerald's e-mail address in column.h. svn path=/trunk/; revision=12131
* Move the tap infrastructure to the epan directory.Guy Harris2004-09-291-1/+1
| | | | svn path=/trunk/; revision=12128
* Move prefs.c and prefs.h into the epan subdirectory.Guy Harris2004-09-271-1/+1
| | | | svn path=/trunk/; revision=12115
* Use _WIN32 rather than WIN32 to determine if we're compiling on Win32;Guy Harris2004-09-111-1/+1
| | | | | | according to Gisle Vanem, WIN32 isn't a built-in in MSVC, but _WIN32 is. svn path=/trunk/; revision=11972
* The packet range stuff knows about capture_file structures, so it'sGuy Harris2004-09-041-1/+1
| | | | | | | | | really more of an Ethereal/Tethereal component than a libethereal component (nothing else in libethereal knows about capture files); move it back out of libethereal. (The range stuff doesn't; we leave it in libethereal.) svn path=/trunk/; revision=11898
* Rename "range.c" and "range.h" to "packet-range.c" and "packet-range.h";Guy Harris2004-09-041-1/+1
| | | | | | | | | | | they should ultimately be split into files with routines that handle ranges, which are just subsets of [0,2^32), and packet ranges, which are subsets of the packet list, possibly specified by a range. Move them into epan, so they can be used by, for example, utilities that handle ranges, such editcap. svn path=/trunk/; revision=11890
* Move the guts of gtk/file_dlg.c:goto_framenum_cb() toGerald Combs2004-09-021-0/+21
| | | | | | file.c:goto_framenum(), where all of the other goto_ routines live. svn path=/trunk/; revision=11887
* Move the file-reloading code from gtk/file_dlg.c to file.c.Gerald Combs2004-08-251-0/+49
| | | | svn path=/trunk/; revision=11823
* As suggested by Guy: Have mark_frame() do nothing if the frame hasGerald Combs2004-08-191-6/+10
| | | | | | | | | already been marked and have unmark_frame() do likewise. Don't mess with the marked frame count in mark_all_frames(). Be a little more paranoid about the marked frame count in other places. svn path=/trunk/; revision=11775