tools/librpm-tizen.git
16 years agoConst pedantry
Panu Matilainen [Wed, 19 Dec 2007 11:19:55 +0000 (13:19 +0200)]
Const pedantry

16 years agoFix some const issues in macros
Panu Matilainen [Wed, 19 Dec 2007 10:49:52 +0000 (12:49 +0200)]
Fix some const issues in macros

16 years agotgi doesnt need fts private include
Panu Matilainen [Mon, 31 Dec 2007 09:56:06 +0000 (11:56 +0200)]
tgi doesnt need fts private include

16 years agoFix multi-line macro expansion in last line of spec (mdvbz#27417)
Panu Matilainen [Sat, 22 Dec 2007 12:26:56 +0000 (14:26 +0200)]
Fix multi-line macro expansion in last line of spec (mdvbz#27417)

Patch from Pascal Rigaux:

1. creating functions restoreFirstChar(), copyNextLineFromOFI() and
   copyNextLineFinish() out of copyNextLine()
2. creating function readLineFromOFI() out of readLine()
3. inline copyNextLine
4. if we can restoreFirstChar, then use it, otherwise read from file
   (ie don't read from file when we have a remaining multiline macro in
   spec->nextline)

16 years agoHum, NSS needs to be shut down too
Panu Matilainen [Wed, 19 Dec 2007 16:53:14 +0000 (18:53 +0200)]
Hum, NSS needs to be shut down too
- some ~80 bytes are still leaked apparently from somewhere within nss/nspr

16 years agoAdd dumb maintainer snapshot generator make rule
Panu Matilainen [Wed, 19 Dec 2007 07:38:32 +0000 (09:38 +0200)]
Add dumb maintainer snapshot generator make rule

16 years agoOrdering fix (don't use RPMSENSE_PREREQ) from Pascal Rigaux
Panu Matilainen [Wed, 19 Dec 2007 07:12:59 +0000 (09:12 +0200)]
Ordering fix (don't use RPMSENSE_PREREQ) from Pascal Rigaux

16 years agoDrop duplicate locale.h check
Panu Matilainen [Wed, 19 Dec 2007 07:01:39 +0000 (09:01 +0200)]
Drop duplicate locale.h check

16 years agoAvoid exiting too early due to nested rpmdbCheckSignals()
Panu Matilainen [Tue, 18 Dec 2007 19:33:40 +0000 (21:33 +0200)]
Avoid exiting too early due to nested rpmdbCheckSignals()

16 years agoUpdate translations
Panu Matilainen [Tue, 18 Dec 2007 11:42:42 +0000 (13:42 +0200)]
Update translations

16 years agoTodo-update...
Panu Matilainen [Tue, 18 Dec 2007 11:41:29 +0000 (13:41 +0200)]
Todo-update...

16 years agoDrop bogus const from rpmReadPackageManifest argvptr
Panu Matilainen [Tue, 18 Dec 2007 10:53:57 +0000 (12:53 +0200)]
Drop bogus const from rpmReadPackageManifest argvptr
- it's malloced and needs freeing by the caller..

16 years agoCast to silence gcc..
Panu Matilainen [Tue, 18 Dec 2007 10:53:16 +0000 (12:53 +0200)]
Cast to silence gcc..

16 years agoOne leftover reloc constfree..
Panu Matilainen [Tue, 18 Dec 2007 10:29:46 +0000 (12:29 +0200)]
One leftover reloc constfree..

16 years agoRemove bunch of bogus cli-related consts...
Panu Matilainen [Tue, 18 Dec 2007 10:08:13 +0000 (12:08 +0200)]
Remove bunch of bogus cli-related consts...

16 years agoUse constfree on relocations for now
Panu Matilainen [Tue, 18 Dec 2007 10:07:48 +0000 (12:07 +0200)]
Use constfree on relocations for now
- they're totally exposed all they way to rpmqv.c.. eww

16 years agoRemove bogus const from rpmInstallSource*() parameters
Panu Matilainen [Tue, 18 Dec 2007 09:56:54 +0000 (11:56 +0200)]
Remove bogus const from rpmInstallSource*() parameters
- spec and cookie are malloced and need to be freed by caller
- unconst various other rpmQVK arguments & friends, no api exists to
  free them so caller needs to handle anyway

16 years agoUse constfree for rpmts suggestions
Panu Matilainen [Tue, 18 Dec 2007 08:48:10 +0000 (10:48 +0200)]
Use constfree for rpmts suggestions
- goes down to rpmal returning fnpykey which is declared as const..
  check this later

16 years agoStick constfree to extension cache cleanup
Panu Matilainen [Tue, 18 Dec 2007 08:46:39 +0000 (10:46 +0200)]
Stick constfree to extension cache cleanup
- deal with the header mess later on

16 years agoDrop bogus const from headerFreeTag() data pointer
Panu Matilainen [Tue, 18 Dec 2007 08:45:36 +0000 (10:45 +0200)]
Drop bogus const from headerFreeTag() data pointer
- no effect as it's hft is unused
- mark headerFreeData(), the real problem case, with _constfree() for
  easy finding (inlined in header.h so can't use _constfree())

16 years agoDrop bogus const from temp variable
Panu Matilainen [Tue, 18 Dec 2007 08:30:35 +0000 (10:30 +0200)]
Drop bogus const from temp variable

16 years agoRemove bogus const from rpmGlob argv return type
Panu Matilainen [Tue, 18 Dec 2007 08:17:18 +0000 (10:17 +0200)]
Remove bogus const from rpmGlob argv return type
- it's malloced and must be freed by caller

16 years agoMake fsm failedFile non-const like it really is
Panu Matilainen [Tue, 18 Dec 2007 08:10:03 +0000 (10:10 +0200)]
Make fsm failedFile non-const like it really is
- callers need to free it so const is wrong
- cast away the hardlink-hackery in fsm instead

16 years agoDrop bogus const from temp variable
Panu Matilainen [Tue, 18 Dec 2007 07:54:46 +0000 (09:54 +0200)]
Drop bogus const from temp variable

16 years agoDrop bogus const from zapRelation return
Panu Matilainen [Tue, 18 Dec 2007 07:49:03 +0000 (09:49 +0200)]
Drop bogus const from zapRelation return
- the retval is malloced from rpmdsNewDNEVR() and must be freed by the caller

16 years agoDrop bogus const from rpmts rootDir + curDir
Panu Matilainen [Tue, 18 Dec 2007 07:40:33 +0000 (09:40 +0200)]
Drop bogus const from rpmts rootDir + curDir

16 years agoRemove bogus const from rpmdb match iterator contents
Panu Matilainen [Tue, 18 Dec 2007 07:30:40 +0000 (09:30 +0200)]
Remove bogus const from rpmdb match iterator contents

16 years agoUse constfree for rpmdb_s contents for now
Panu Matilainen [Tue, 18 Dec 2007 07:27:42 +0000 (09:27 +0200)]
Use constfree for rpmdb_s contents for now
- rpmdb_internal is included from several places over the tree

16 years agoUse constfree for rpmhash key + data for now
Panu Matilainen [Tue, 18 Dec 2007 07:19:22 +0000 (09:19 +0200)]
Use constfree for rpmhash key + data for now
- sometimes they point to real const data, sometimes not, eww

16 years agoUse constfree for fsm path, opath for now
Panu Matilainen [Tue, 18 Dec 2007 07:08:04 +0000 (09:08 +0200)]
Use constfree for fsm path, opath for now
- neither should really be const but they sometimes point to real
  const variables, sometimes not.. needs careful review

16 years agoDrop const from fs mountpoint, contained within fs
Panu Matilainen [Tue, 18 Dec 2007 05:51:45 +0000 (07:51 +0200)]
Drop const from fs mountpoint, contained within fs

16 years agoDrop const from temporary variable
Panu Matilainen [Mon, 17 Dec 2007 19:45:56 +0000 (21:45 +0200)]
Drop const from temporary variable

16 years agoUse constfree for rpmte internals for now
Panu Matilainen [Mon, 17 Dec 2007 17:15:14 +0000 (19:15 +0200)]
Use constfree for rpmte internals for now
- the internals are exposed all over the tree...

16 years agoUse constfree for rpmfi internals for now
Panu Matilainen [Mon, 17 Dec 2007 17:11:33 +0000 (19:11 +0200)]
Use constfree for rpmfi internals for now
- the internals are exposed all over the tree...

16 years agoRemove const from rpmal dirInfo dirname
Panu Matilainen [Mon, 17 Dec 2007 17:05:19 +0000 (19:05 +0200)]
Remove const from rpmal dirInfo dirname
- add comments wrt needle dirName - those are actual const pointers to
  within rpmfi, must not free

16 years agoUse constfree for psm failedFile for now
Panu Matilainen [Mon, 17 Dec 2007 14:10:32 +0000 (16:10 +0200)]
Use constfree for psm failedFile for now
- failedFile is malloced by fsm, but removing the const from fsm
  gets a bit hairy as failed it's not always malloced
  (see changeset 4062:02b0c237b675) so we'd have const-disabling casts instead
  of freeing consts...

16 years agoInclude toplevel Makefile from Makefile.maint
Panu Matilainen [Mon, 17 Dec 2007 13:32:25 +0000 (15:32 +0200)]
Include toplevel Makefile from Makefile.maint
- allow "make dist" in one step with .maint..

16 years agoDrop db3 from dist subdirs
Panu Matilainen [Mon, 17 Dec 2007 13:30:01 +0000 (15:30 +0200)]
Drop db3 from dist subdirs
- db3/configure is covered by EXTRA_DIST already

16 years agoUnconst psm pkgURL and rpmio_flags members
Panu Matilainen [Mon, 17 Dec 2007 13:07:41 +0000 (15:07 +0200)]
Unconst psm pkgURL and rpmio_flags members
- fully contained within psm

16 years agoMake psm opaque, add minimal methods to cover internal needs
Panu Matilainen [Mon, 17 Dec 2007 12:58:02 +0000 (14:58 +0200)]
Make psm opaque, add minimal methods to cover internal needs

16 years agoDrop bogus const from dnlFreeIterator() param
Panu Matilainen [Mon, 17 Dec 2007 12:03:31 +0000 (14:03 +0200)]
Drop bogus const from dnlFreeIterator() param

16 years agoDrop bogus const from fsmFsPath() return type
Panu Matilainen [Mon, 17 Dec 2007 12:01:23 +0000 (14:01 +0200)]
Drop bogus const from fsmFsPath() return type
- path is malloced and caller needs to free
- additionally use size_t, not int for string size

16 years agotransaction.c doesn't need fsm.h, rpmfi_internal does
Panu Matilainen [Mon, 17 Dec 2007 11:50:11 +0000 (13:50 +0200)]
transaction.c doesn't need fsm.h, rpmfi_internal does

16 years agoStick cpioMapFlags to fsm.h, they're only used by fsm.c
Panu Matilainen [Mon, 17 Dec 2007 11:39:14 +0000 (13:39 +0200)]
Stick cpioMapFlags to fsm.h, they're only used by fsm.c
- allows FSM* typedefs to move to where they belong

16 years agoHide fsmIterator_s struct details, not needed outside fsm.c
Panu Matilainen [Mon, 17 Dec 2007 11:20:05 +0000 (13:20 +0200)]
Hide fsmIterator_s struct details, not needed outside fsm.c

16 years agoStuff hardLink_s inside fsm.c, add pointer typedef to fsm.h
Panu Matilainen [Mon, 17 Dec 2007 11:15:53 +0000 (13:15 +0200)]
Stuff hardLink_s inside fsm.c, add pointer typedef to fsm.h
- nothing outside fsm.c needs except for the declaration in fsm_s

16 years agobadDeps is encapsulated within depends, doesn't need const
Panu Matilainen [Mon, 17 Dec 2007 11:01:50 +0000 (13:01 +0200)]
badDeps is encapsulated within depends, doesn't need const
- remove ancient reference code

16 years agoUse constfree for cleaning up pgp digest contents
Panu Matilainen [Mon, 17 Dec 2007 10:37:01 +0000 (12:37 +0200)]
Use constfree for cleaning up pgp digest contents
- the contents are exposed within rpm (although not public interfaces)
  but pgpCleanDig() should be used to free the struct
- pgpDig and pgpDigParams need encapsulation + api...

16 years agoDon't bother configuring db3 directory if using external db
Panu Matilainen [Mon, 17 Dec 2007 09:38:12 +0000 (11:38 +0200)]
Don't bother configuring db3 directory if using external db

16 years agoMake ChangeLog creation depend on .hg directory
Panu Matilainen [Mon, 17 Dec 2007 09:19:55 +0000 (11:19 +0200)]
Make ChangeLog creation depend on .hg directory
- .hg dir timestamp changes on commits, otherwise updating ChangeLog
  requires removing it

16 years agoUnbreak internal dep generator
Panu Matilainen [Mon, 17 Dec 2007 08:32:16 +0000 (10:32 +0200)]
Unbreak internal dep generator
- more signed -> unsigned count type breakage

16 years agoUnbreak array query formats
Panu Matilainen [Mon, 17 Dec 2007 08:05:37 +0000 (10:05 +0200)]
Unbreak array query formats
- signed -> unsigned count type change broke it..

16 years agopgpReadPkts returns malloced memory, unconstify
Panu Matilainen [Sun, 16 Dec 2007 21:05:21 +0000 (23:05 +0200)]
pgpReadPkts returns malloced memory, unconstify

16 years agoLone module-private const .. remove
Panu Matilainen [Sun, 16 Dec 2007 20:50:30 +0000 (22:50 +0200)]
Lone module-private const .. remove

16 years agoUnconstify macro contents, fully contained within macro module
Panu Matilainen [Sun, 16 Dec 2007 19:28:37 +0000 (21:28 +0200)]
Unconstify macro contents, fully contained within macro module

16 years agoBogus const in temporary variables
Panu Matilainen [Sun, 16 Dec 2007 19:24:44 +0000 (21:24 +0200)]
Bogus const in temporary variables

16 years agoMore const removals
Panu Matilainen [Sun, 16 Dec 2007 19:21:31 +0000 (21:21 +0200)]
More const removals
- both username cache and log records are fully contained within their
  modules...

16 years agoMore constfree for spec exposed stuff for now
Panu Matilainen [Sun, 16 Dec 2007 19:20:05 +0000 (21:20 +0200)]
More constfree for spec exposed stuff for now
- openfileinfo seems easily made opaque, revisit later

16 years agoMuch of spec internals is exposed, let them be const for now
Panu Matilainen [Sun, 16 Dec 2007 18:58:44 +0000 (20:58 +0200)]
Much of spec internals is exposed, let them be const for now

16 years agoRemove couple of bogus const uses in temp variables
Panu Matilainen [Sun, 16 Dec 2007 18:46:56 +0000 (20:46 +0200)]
Remove couple of bogus const uses in temp variables

16 years agoUnconstify FileListRec and AttrRec contents
Panu Matilainen [Sun, 16 Dec 2007 18:39:46 +0000 (20:39 +0200)]
Unconstify FileListRec and AttrRec contents
- not exposed outside files.c

16 years agoUnconstify rpmrc internal tables
Panu Matilainen [Sun, 16 Dec 2007 18:04:30 +0000 (20:04 +0200)]
Unconstify rpmrc internal tables
- not exposed outside rpmrc, "protection" buys nothing

16 years agoFix default queryformat setting when _query_all_fmt not set
Panu Matilainen [Sun, 16 Dec 2007 17:00:07 +0000 (19:00 +0200)]
Fix default queryformat setting when _query_all_fmt not set
- \n in the rpmExpand() causes the result to always be non-null...
- also avoid unnecessary const free

16 years agoRemove const from rpmMkTempFile file name parameter
Panu Matilainen [Sun, 16 Dec 2007 14:25:09 +0000 (16:25 +0200)]
Remove const from rpmMkTempFile file name parameter
- the temp name is malloced and needs to be freed by caller

16 years agoRefactor rpmReSign() and associated file "management" a bit
Panu Matilainen [Sun, 16 Dec 2007 13:58:40 +0000 (15:58 +0200)]
Refactor rpmReSign() and associated file "management" a bit
- remove unused + useless "rc" parameter from manageFile()
- remove tempfile handling from manageFile(), create + open a tempfile
  explicitly in rpmReSign()
- both copyFile() and manageFile() now require file names to be passed always
- split file closing into separate closeFile() function

16 years agoStupid reversed-logic thinko..
Panu Matilainen [Sun, 16 Dec 2007 13:51:09 +0000 (15:51 +0200)]
Stupid reversed-logic thinko..

16 years agoRemove const from bunch of error message return types
Panu Matilainen [Sun, 16 Dec 2007 11:02:27 +0000 (13:02 +0200)]
Remove const from bunch of error message return types
- headerCheck(), rpmReadHeader() and rpmReadSignature() return malloced
  error messages the caller needs to free, shouldn't be const
- adjust rpmdb hdrchk callbacks accordingly

16 years agoIDT* structures are exposed, let them use constfree for now..
Panu Matilainen [Sun, 16 Dec 2007 10:20:45 +0000 (12:20 +0200)]
IDT* structures are exposed, let them use constfree for now..

16 years agoAnd yet more bogus const removals...
Panu Matilainen [Sat, 15 Dec 2007 19:17:59 +0000 (21:17 +0200)]
And yet more bogus const removals...

16 years agoCouple of bogus const removals from rpmgi and rpmds structs
Panu Matilainen [Sat, 15 Dec 2007 19:14:44 +0000 (21:14 +0200)]
Couple of bogus const removals from rpmgi and rpmds structs
- in both cases the data is already directly inaccessible from outside,
  no further protection necessary

16 years agoMake bunch of build internal code take const parameters
Panu Matilainen [Sat, 15 Dec 2007 16:33:28 +0000 (18:33 +0200)]
Make bunch of build internal code take const parameters

16 years agoFurther bogus const removals...
Panu Matilainen [Sat, 15 Dec 2007 15:15:39 +0000 (17:15 +0200)]
Further bogus const removals...

16 years agoFix incorrect rpmCleanPath() retval comment
Panu Matilainen [Sat, 15 Dec 2007 15:08:18 +0000 (17:08 +0200)]
Fix incorrect rpmCleanPath() retval comment

16 years agoAnother bunch of bogus const removals
Panu Matilainen [Sat, 15 Dec 2007 14:03:18 +0000 (16:03 +0200)]
Another bunch of bogus const removals

16 years agoAvoid mixing local malloc with const parameter pointer
Panu Matilainen [Sat, 15 Dec 2007 13:59:07 +0000 (15:59 +0200)]
Avoid mixing local malloc with const parameter pointer

16 years agoUse _constfree() for freeing urlinfo contents
Panu Matilainen [Sat, 15 Dec 2007 11:43:40 +0000 (13:43 +0200)]
Use _constfree() for freeing urlinfo contents

16 years agoExpose compiler warnings from freeing data declared as const
Panu Matilainen [Sat, 15 Dec 2007 11:41:58 +0000 (13:41 +0200)]
Expose compiler warnings from freeing data declared as const
- _free() is just a wrapper to free() which additionally returns NULL
- add _constfree() for use in the cases where const is used to protect
  malloced "read-only" data in long-lived otherwise exposed structures etc

16 years agoRemove bogus const from rpmProblemString() return type
Panu Matilainen [Sat, 15 Dec 2007 09:47:47 +0000 (11:47 +0200)]
Remove bogus const from rpmProblemString() return type
- its malloced so it needs to be freed
- fix all users to actually free

16 years agoRemove bogus const from rpmGenPath() temporary targets
Panu Matilainen [Sat, 15 Dec 2007 09:03:46 +0000 (11:03 +0200)]
Remove bogus const from rpmGenPath() temporary targets

16 years agoRemove bogus const from rpmGetPath() temporary targets
Panu Matilainen [Sat, 15 Dec 2007 08:39:15 +0000 (10:39 +0200)]
Remove bogus const from rpmGetPath() temporary targets

16 years agoRemove bogus const from rpmGenPath and rpmGetPath return type
Panu Matilainen [Sat, 15 Dec 2007 07:39:32 +0000 (09:39 +0200)]
Remove bogus const from rpmGenPath and rpmGetPath return type
- both return malloced strings you're supposed to free

16 years agoBogus const removal continued...
Panu Matilainen [Fri, 14 Dec 2007 17:52:11 +0000 (19:52 +0200)]
Bogus const removal continued...

16 years agoAnother bunch of bogus const removals
Panu Matilainen [Fri, 14 Dec 2007 15:55:31 +0000 (17:55 +0200)]
Another bunch of bogus const removals

16 years agoRemove bogus consts..
Panu Matilainen [Fri, 14 Dec 2007 13:50:17 +0000 (15:50 +0200)]
Remove bogus consts..

16 years agoBunch of const char* corrections
Panu Matilainen [Fri, 14 Dec 2007 13:17:59 +0000 (15:17 +0200)]
Bunch of const char* corrections
- functions returning string constants as char * etc...

16 years agoBunch of silly ssize_t casts
Panu Matilainen [Fri, 14 Dec 2007 11:39:52 +0000 (13:39 +0200)]
Bunch of silly ssize_t casts
- cuts down the amount of spurious warnings from inlined code...

16 years agoOops, major + minor are not dev_t...
Panu Matilainen [Fri, 14 Dec 2007 11:38:58 +0000 (13:38 +0200)]
Oops, major + minor are not dev_t...

16 years agoYet more type-pedantry...
Panu Matilainen [Fri, 14 Dec 2007 10:54:35 +0000 (12:54 +0200)]
Yet more type-pedantry...
- use rpm_tag_t for signature tag types too
- size_t, not rpm_count_t in signature generation
- add couple of explicit casts to rpmpgp.h to avoid spurious noise from
  inlined functions

16 years agoMore size_t type pedantry
Panu Matilainen [Fri, 14 Dec 2007 09:38:20 +0000 (11:38 +0200)]
More size_t type pedantry

16 years agoOops, rpmpsi index needs to be signed type
Panu Matilainen [Fri, 14 Dec 2007 09:36:48 +0000 (11:36 +0200)]
Oops, rpmpsi index needs to be signed type

16 years agoMore misc size_t issues
Panu Matilainen [Fri, 14 Dec 2007 08:30:46 +0000 (10:30 +0200)]
More misc size_t issues

16 years agoUse dev_t instead of ints..
Panu Matilainen [Fri, 14 Dec 2007 08:30:01 +0000 (10:30 +0200)]
Use dev_t instead of ints..

16 years agoCouple of more size_t uses + related format string fixes
Panu Matilainen [Fri, 14 Dec 2007 07:35:06 +0000 (09:35 +0200)]
Couple of more size_t uses + related format string fixes

16 years agoBig bunch of int -> size_t corrections for various signature items
Panu Matilainen [Thu, 13 Dec 2007 19:18:37 +0000 (21:18 +0200)]
Big bunch of int -> size_t corrections for various signature items

16 years agoUse rpm_tagtype_t everywhere for rpm (header) tagtype type
Panu Matilainen [Thu, 13 Dec 2007 18:35:33 +0000 (20:35 +0200)]
Use rpm_tagtype_t everywhere for rpm (header) tagtype type
- typedef'ed as uint32_t, doesn't matter much but negative types dont exist
- easy to grep, easy to change...
- define RPM_FORCEFREE_TYPE instead of -1 "magic" for forcing
  headerFreeData (ugh), easier to grep for and change than "-1"

16 years agoUse rpm_tag_t everywhere for rpm (header) tag type
Panu Matilainen [Thu, 13 Dec 2007 17:32:37 +0000 (19:32 +0200)]
Use rpm_tag_t everywhere for rpm (header) tag type
- typedef'ed as int32_t for now, negative values used in some places for
  error cases
- easy to grep, easy to change...
- add RPMTAG_NOT_FOUND define, used in place of -1 "magic",

16 years agoUse rpm_count_t everywhere for header data count
Panu Matilainen [Thu, 13 Dec 2007 16:16:39 +0000 (18:16 +0200)]
Use rpm_count_t everywhere for header data count
- typedef'ed as uint32_t as that's the key size limit imposed by BDB,
  relevant for RPM_BIN_TYPE
- easy to change to whatever later on as it's now consistent everywhere
- explicit casts where needed to avoid new warnings from signedness

16 years agoUse rpm_count_t everywhere for header data count
Panu Matilainen [Thu, 13 Dec 2007 07:25:10 +0000 (09:25 +0200)]
Use rpm_count_t everywhere for header data count
- typedef'ed as uint32_t as that's the key size limit imposed by BDB,
  relevant for RPM_BIN_TYPE
- easy to change to whatever later on as it's now consistent everywhere

16 years agoInstall the new fancy perldep extractor
Panu Matilainen [Wed, 12 Dec 2007 12:33:56 +0000 (14:33 +0200)]
Install the new fancy perldep extractor

16 years agoRegister the new SCRIPT_ERROR callback value to python
Panu Matilainen [Tue, 11 Dec 2007 12:18:50 +0000 (14:18 +0200)]
Register the new SCRIPT_ERROR callback value to python