From c1d1805ffca3448d87c7eb72b4e2e8f8b6dbbad0 Mon Sep 17 00:00:00 2001 From: Scott Fritzinger Date: Thu, 20 Jul 2000 02:20:42 +0000 Subject: [PATCH] changed _manual, _about, and _summary to use CameraText to guarantee 32k of text space git-svn-id: https://svn.code.sf.net/p/gphoto/code/trunk/libgphoto2@730 67ed7778-7388-44ab-90cf-0a291f65f57c --- camlibs/barbie/barbie.c | 12 ++++++------ camlibs/directory/directory.c | 12 ++++++------ camlibs/fujitsu/fujitsu.c | 12 ++++++------ camlibs/konica/library.c | 9 ++++----- camlibs/panasonic/dc1580.c | 12 ++++++------ camlibs/template/template.c | 12 ++++++------ frontends/command-line/main.c | 18 +++++++++--------- include/gphoto2-core.h | 9 +++------ include/gphoto2-datatypes.h | 4 ++++ include/gphoto2-library.h | 6 +++--- libgphoto2/core.c | 6 +++--- libgphoto2/core.h | 6 +++--- 12 files changed, 59 insertions(+), 59 deletions(-) diff --git a/camlibs/barbie/barbie.c b/camlibs/barbie/barbie.c index d7348e2db..59136cdba 100644 --- a/camlibs/barbie/barbie.c +++ b/camlibs/barbie/barbie.c @@ -438,7 +438,7 @@ int camera_capture (CameraFile *file, CameraCaptureInfo *info) { return (GP_ERROR); } -int camera_summary (char *summary) { +int camera_summary (CameraText *summary) { int num; char *firm; @@ -446,7 +446,7 @@ int camera_summary (char *summary) { num = camera_file_count(); firm = barbie_read_firmware(); - sprintf(summary, + sprintf(summary->text, "Number of pictures: %i Firmware Version: %s", num,firm); @@ -455,15 +455,15 @@ Firmware Version: %s", num,firm); return GP_OK; } -int camera_manual (char *manual) { +int camera_manual (CameraText *manual) { - strcpy(manual, "No manual available."); + strcpy(manual->text, "No manual available."); return GP_OK; } -int camera_about (char *about) { +int camera_about (CameraText *about) { - strcpy(about, + strcpy(about->text, "Barbie/HotWheels/WWF Scott Fritzinger Andreas Meyer diff --git a/camlibs/directory/directory.c b/camlibs/directory/directory.c index 0e8d803a0..be61bd5d2 100644 --- a/camlibs/directory/directory.c +++ b/camlibs/directory/directory.c @@ -252,16 +252,16 @@ int camera_capture (CameraFile *file, CameraCaptureInfo *info) { return (GP_ERROR); } -int camera_summary (char *summary) { +int camera_summary (CameraText *summary) { - sprintf(summary, "Current directory:\n%s", dir_directory); + sprintf(summary->text, "Current directory:\n%s", dir_directory); return (GP_OK); } -int camera_manual (char *manual) { +int camera_manual (CameraText *manual) { - strcpy(manual, + strcpy(manual->text, "The Directory Browse \"camera\" lets you index photos on your hard drive. The folder list on the left contains the folders on your hard drive, @@ -271,9 +271,9 @@ beginning at the root directory (\"/\"). return (GP_OK); } -int camera_about (char *about) { +int camera_about (CameraText *about) { - strcpy(about, + strcpy(about->text, "Directory Browse Mode Scott Fritzinger "); diff --git a/camlibs/fujitsu/fujitsu.c b/camlibs/fujitsu/fujitsu.c index 3136ba361..867e5725b 100644 --- a/camlibs/fujitsu/fujitsu.c +++ b/camlibs/fujitsu/fujitsu.c @@ -388,7 +388,7 @@ int camera_capture (CameraFile *file, CameraCaptureInfo *info) { return (GP_ERROR); } -int camera_summary (char *summary) { +int camera_summary (CameraText *summary) { char buf[1024*32]; int value; @@ -533,7 +533,7 @@ return (GP_ERROR); if (fujitsu_get_int_register(glob_dev, 38, &value)!=GP_ERROR) sprintf(buf, "%sLCD AutoOff : %i seconds\n", buf, value); - strcpy(summary, buf); + strcpy(summary->text, buf); if (camera_stop()==GP_ERROR) return (GP_ERROR); @@ -541,20 +541,20 @@ return (GP_ERROR); return (GP_OK); } -int camera_manual (char *manual) { +int camera_manual (CameraText *manual) { debug_print("Getting camera manual"); - strcpy(manual, "Manual Not Available"); + strcpy(manual->text, "Manual Not Available"); return (GP_OK); } -int camera_about (char *about) { +int camera_about (CameraText *about) { debug_print("Getting 'about' information"); - strcpy(about, + strcpy(about->text, "Fujitsu SPARClite library Scott Fritzinger Support for Fujitsu-based digital cameras diff --git a/camlibs/konica/library.c b/camlibs/konica/library.c index 74a4a077a..44910b859 100644 --- a/camlibs/konica/library.c +++ b/camlibs/konica/library.c @@ -525,7 +525,7 @@ int camera_file_delete (int file_number) } -int camera_summary (char *summary) +int camera_summary (CameraText *summary) { gchar *model = NULL; gchar *serial_number = NULL; @@ -568,7 +568,7 @@ int camera_summary (char *summary) &minute, &second))) return (GP_ERROR); else { - sprintf (summary, + sprintf (summary->text, "About the camera:\n" " Model: %s\n" " Serial Number: %s,\n" @@ -615,9 +615,9 @@ int camera_summary (char *summary) } -int camera_about (char *about) +int camera_about (CameraText *about) { - strcpy (about, + strcpy (about->text, "Konica library\n" "Lutz Müller \n" "Support for Konica and HP cameras."); @@ -637,4 +637,3 @@ int camera_config_set (CameraSetting *conf, int count) printf ("Not yet implemented...\n"); return (GP_ERROR); } - diff --git a/camlibs/panasonic/dc1580.c b/camlibs/panasonic/dc1580.c index 03a885a87..b7d765507 100644 --- a/camlibs/panasonic/dc1580.c +++ b/camlibs/panasonic/dc1580.c @@ -542,23 +542,23 @@ int camera_capture (CameraFile *file, CameraCaptureInfo *info) { return (GP_ERROR); } -int camera_summary (char *summary) { +int camera_summary (CameraText *summary) { - strcpy(summary, "Summary Not Available"); + strcpy(summary->text, "Summary Not Available"); return (GP_OK); } -int camera_manual (char *manual) { +int camera_manual (CameraText *manual) { - strcpy(manual, "Manual Not Available"); + strcpy(manual->text, "Manual Not Available"); return (GP_OK); } -int camera_about (char *about) { +int camera_about (CameraText *about) { - strcpy(about, + strcpy(about->text, "Panasonic PV-DC1580 gPhoto library\n" "Mariusz Zynel \n\n" "Based on dc1000 program written by\n" diff --git a/camlibs/template/template.c b/camlibs/template/template.c index f1f3230ee..241ff3b32 100644 --- a/camlibs/template/template.c +++ b/camlibs/template/template.c @@ -102,23 +102,23 @@ int camera_capture (CameraFile *file, CameraCaptureInfo *info) { return (GP_ERROR); } -int camera_summary (char *summary) { +int camera_summary (CameraText *summary) { - strcpy(summary, "Summary Not Available"); + strcpy(summary->text, "Summary Not Available"); return (GP_OK); } -int camera_manual (char *manual) { +int camera_manual (CameraText *manual) { - strcpy(manual, "Manual Not Available"); + strcpy(manual->text, "Manual Not Available"); return (GP_OK); } -int camera_about (char *about) { +int camera_about (CameraText *about) { - strcpy(about, + strcpy(about->text, "Library Name YOUR NAME Quick description of the library. diff --git a/frontends/command-line/main.c b/frontends/command-line/main.c index 36bb2cdbe..c71c74030 100644 --- a/frontends/command-line/main.c +++ b/frontends/command-line/main.c @@ -569,47 +569,47 @@ OPTION_CALLBACK(upload_picture) { OPTION_CALLBACK(summary) { - char buf[1024*32]; + CameraText buf; if (set_globals() == GP_ERROR) return (GP_ERROR); - if (gp_summary(buf)==GP_ERROR) { + if (gp_summary(&buf)==GP_ERROR) { error_print("Could not get camera summary"); return (GP_ERROR); } - printf("Camera Summary:\n%s\n", buf); + printf("Camera Summary:\n%s\n", buf.text); return (GP_OK); } OPTION_CALLBACK(manual) { - char buf[1024*32]; + CameraText buf; if (set_globals() == GP_ERROR) return (GP_ERROR); - if (gp_manual(buf)==GP_ERROR) { + if (gp_manual(&buf)==GP_ERROR) { error_print("Could not get camera manual"); return (GP_ERROR); } - printf("Camera Manual:\n%s\n", buf); + printf("Camera Manual:\n%s\n", buf.text); return (GP_OK); } OPTION_CALLBACK(about) { - char buf[1024*32]; + CameraText buf; if (set_globals() == GP_ERROR) return (GP_ERROR); - if (gp_about(buf)==GP_ERROR) { + if (gp_about(&buf)==GP_ERROR) { error_print("Could not get camera manual"); return (GP_ERROR); } - printf("About the library:\n%s\n", buf); + printf("About the library:\n%s\n", buf.text); return (GP_OK); } diff --git a/include/gphoto2-core.h b/include/gphoto2-core.h index f6cf0e054..4f94accf1 100644 --- a/include/gphoto2-core.h +++ b/include/gphoto2-core.h @@ -111,16 +111,13 @@ /* ============================================================================== */ /* Retrieves camera status (number of pictures, charge, etc...) */ - /* "summary" should be allocated to 32k */ - int gp_summary (char *summary); + int gp_summary (CameraText *summary); /* Retrieves usage of the camera library (config settings, problems, etc) */ - /* "manual" should be allocated to 32k */ - int gp_manual (char *manual); + int gp_manual (CameraText *manual); /* Retrieves information about the camera library (author, version, etc) */ - /* "about" should be allocated to 32k */ - int gp_about (char *about); + int gp_about (CameraText *about); /* Widget functions */ /* ============================================================================== */ diff --git a/include/gphoto2-datatypes.h b/include/gphoto2-datatypes.h index 9e365aee1..d5e70ee44 100644 --- a/include/gphoto2-datatypes.h +++ b/include/gphoto2-datatypes.h @@ -170,3 +170,7 @@ typedef struct { char name[32]; char value[32]; } CameraSetting; + +typedef struct { + char text[32*1024]; +} CameraText; diff --git a/include/gphoto2-library.h b/include/gphoto2-library.h index 24bd1682d..6249109ac 100644 --- a/include/gphoto2-library.h +++ b/include/gphoto2-library.h @@ -97,15 +97,15 @@ int camera_capture (CameraFile *f, CameraCaptureInfo *info); /* For each of the following functions, the char* buffers */ /* passed in are 32k large. */ -int camera_summary (char *summary); +int camera_summary (CameraText *summary); /* Returns information about the current status of the */ /* camera, such as pictures taken/left, battery */ /* percent, etc... */ -int camera_manual (char *manual); +int camera_manual (CameraText *manual); /* Returns information on using the camera library. */ -int camera_about (char *about); +int camera_about (CameraText *about); /* Returns information about the camera library. */ /* Includes author's name, email, models supported, */ /* and anything else library-specific. */ diff --git a/libgphoto2/core.c b/libgphoto2/core.c index c1bd0007e..acca37056 100644 --- a/libgphoto2/core.c +++ b/libgphoto2/core.c @@ -392,7 +392,7 @@ int gp_capture (CameraFile *f, CameraCaptureInfo *info) { return(glob_c.capture(f, info)); } -int gp_summary (char *summary) { +int gp_summary (CameraText *summary) { if (glob_c.summary == NULL) return (GP_ERROR); @@ -400,7 +400,7 @@ int gp_summary (char *summary) { return(glob_c.summary(summary)); } -int gp_manual (char *manual) { +int gp_manual (CameraText *manual) { if (glob_c.manual == NULL) return (GP_ERROR); @@ -408,7 +408,7 @@ int gp_manual (char *manual) { return(glob_c.manual(manual)); } -int gp_about (char *about) { +int gp_about (CameraText *about) { if (glob_c.about == NULL) return (GP_ERROR); diff --git a/libgphoto2/core.h b/libgphoto2/core.h index 14a9d9886..d4d5c4b88 100644 --- a/libgphoto2/core.h +++ b/libgphoto2/core.h @@ -29,9 +29,9 @@ typedef int (*c_file_unlock) (int); typedef int (*c_config_get) (CameraWidget*); typedef int (*c_config_set) (CameraSetting*, int); typedef int (*c_capture) (CameraFile*, CameraCaptureInfo *); -typedef int (*c_summary) (char*); -typedef int (*c_manual) (char*); -typedef int (*c_about) (char*); +typedef int (*c_summary) (CameraText*); +typedef int (*c_manual) (CameraText*); +typedef int (*c_about) (CameraText*); /* Function pointers to the current library functions */