The Following User Says Thank You to Mentalist Traceur For This Useful Post: | ||
![]() |
2013-11-07
, 09:55
|
Posts: 1,808 |
Thanked: 4,272 times |
Joined on Feb 2011
@ Germany
|
#52
|
Now that said what WOULD be a good reason to take the approach of not writing in the c-string terminating null, is if you set R&D mode settings on using Nokia's Flasher, then try to read it with R&D mode control and that gives problems (this being completely not caused by the +1 but by the fact that the strings coming out would have no terminating null for my code then (or the standard c-string functions thereof) to stop at), then I will, for the sake of compatibility and consistency, write the strings without the terminating null to the cal block and compensate for the lack thereof in my own code when pulling the string out.
The Following 3 Users Say Thank You to reinob For This Useful Post: | ||
![]() |
2013-11-07
, 10:05
|
Posts: 1,808 |
Thanked: 4,272 times |
Joined on Feb 2011
@ Germany
|
#53
|
That's a very generous title for what is a basic linked list with some metadata and actual data per node/link. But yeah, in a sense it is.
It's worth noting that it is clearly sequential in nature, whereas a filesystem can typically locate files at random pretty easily and efficiently. Filesystems usually don't need to potentially traverse their entire contents to find what they are looking for - libcal may well have to.
Now that libcal is open I may well just write a program to simply allow perusing the data and viewing the data of each block. Unless someone's already done it.
...and if I have time. Given how long it took rdmod to reach the full functionality I wanted out of it to begin with, there's no guarantee I will have that done any time soon - and in fact, I will explicitly say I will do my best not to for a while because I just used all of my free time these last three days or so doing just rdmod work and I have to make sure everything else is taken care of.
The Following 3 Users Say Thank You to reinob For This Useful Post: | ||
![]() |
2013-11-08
, 04:08
|
Posts: 2,225 |
Thanked: 3,822 times |
Joined on Jun 2010
@ Florida
|
#54
|
Exactly. Your using of the +1 is a kind of workaround for using string functions when libcal actually uses "Pascal-type" strings, i.e. a block and a length, and memcpy instead of strcpy, etc.
If you do rewrite your rd program you might want to go that route, which would sort of fit better with libcal. But this is (likely) a very academic issue. At least R&D mode is essentially treated like a (C-)string.
But if you consider expanding your program to other regions/blocks of cal (think "bme", "phone-info", "wlan-tx-cost3_0", "fmtx_pwl", "lock_code", "lock_period", "lock_enable", etc.) then you'll have to make sure that you read/write exactly as expected by the library (and any other client programs making use of the library..)
Cheers, and congratulations for making it possible to manipulate R&D mode from the recovery console. This is actually seriously cool!
The Following 3 Users Say Thank You to Mentalist Traceur For This Useful Post: | ||
![]() |
2013-11-08
, 04:51
|
Posts: 2,225 |
Thanked: 3,822 times |
Joined on Jun 2010
@ Florida
|
#55
|
The Following User Says Thank You to Mentalist Traceur For This Useful Post: | ||
![]() |
2013-11-08
, 06:54
|
Posts: 1,378 |
Thanked: 1,604 times |
Joined on Jun 2010
@ Göteborg, Sweden
|
#56
|
![]() |
2013-11-08
, 08:11
|
Posts: 2,225 |
Thanked: 3,822 times |
Joined on Jun 2010
@ Florida
|
#57
|
![]() |
2013-11-08
, 08:23
|
Posts: 1,808 |
Thanked: 4,272 times |
Joined on Feb 2011
@ Germany
|
#58
|
The Following 4 Users Say Thank You to reinob For This Useful Post: | ||
![]() |
2013-11-08
, 10:06
|
Posts: 1,808 |
Thanked: 4,272 times |
Joined on Feb 2011
@ Germany
|
#59
|
The Following 4 Users Say Thank You to reinob For This Useful Post: | ||
![]() |
2013-11-08
, 10:22
|
|
Posts: 5,028 |
Thanked: 8,613 times |
Joined on Mar 2011
|
#60
|
The Following 2 Users Say Thank You to Estel For This Useful Post: | ||
![]() |
Tags |
command line, on device, r&d mode |
|
If you want to donate in support of anything that I do, you can do so with either of these options:
PayPal | Bitcoin: 1J4XG2z97iFEKNZXThHdFHq6AeyWEHs8BJ | [Will add other donation options eventually]