2a1c759fde
against pilot-link 0.12.x.
247 lines
8.2 KiB
Text
247 lines
8.2 KiB
Text
$NetBSD: patch-ad,v 1.1 2007/01/26 01:50:54 markd Exp $
|
|
|
|
--- malsync.c.orig 2007-01-23 00:37:31.000000000 +1300
|
|
+++ malsync.c
|
|
@@ -100,8 +100,7 @@ typedef struct {
|
|
int pilot_rHandle;
|
|
int pilot_RecIndex;
|
|
recordid_t id;
|
|
- uint8 *pilot_buffer;
|
|
- int pilot_buffer_size;
|
|
+ pi_buffer_t *pi_buf;
|
|
|
|
/* Secure Network Library Stuff */
|
|
AGBool hasseclib;
|
|
@@ -266,8 +265,8 @@ syncInfoFree(PalmSyncInfo * pInfo)
|
|
if (NULL != pInfo->userConfig)
|
|
AGUserConfigFree(pInfo->userConfig);
|
|
|
|
- if (NULL != pInfo->pilot_buffer)
|
|
- free(pInfo->pilot_buffer);
|
|
+ if (NULL != pInfo->pi_buf)
|
|
+ pi_buffer_free (pInfo->pi_buf);
|
|
|
|
if (NULL != pInfo->commandProcessor)
|
|
AGCommandProcessorFree(pInfo->commandProcessor);
|
|
@@ -290,9 +289,8 @@ syncInfoNew()
|
|
|
|
bzero(pInfo, sizeof(PalmSyncInfo));
|
|
|
|
- pInfo->pilot_buffer_size = pbs;
|
|
- pInfo->pilot_buffer = (uint8 *)malloc(pbs);
|
|
- if (NULL == pInfo->pilot_buffer)
|
|
+ pInfo->pi_buf = pi_buffer_new (pbs);
|
|
+ if (NULL == pInfo->pi_buf)
|
|
goto fail;
|
|
|
|
/* Allocate the platform calls record. */
|
|
@@ -341,8 +339,7 @@ int16 readInt16(uint8 * p)
|
|
/*---------------------------------------------------------------------------*/
|
|
static void
|
|
readAndUseDeviceInfoDatabase(AGDeviceInfo * devInfo,
|
|
- uint8 *dev_db_info_buffer,
|
|
- uint32 dev_db_info_buffer_size)
|
|
+ pi_buffer_t *pi_buf)
|
|
{
|
|
int database_id = 0;
|
|
long result;
|
|
@@ -373,13 +370,13 @@ readAndUseDeviceInfoDatabase(AGDeviceInf
|
|
int rc;
|
|
|
|
rc = dlp_ReadRecordByIndex(sd, database_id, 0,
|
|
- (void *)dev_db_info_buffer,
|
|
- &id, &dev_db_info_buffer_size,
|
|
+ pi_buf,
|
|
+ &id,
|
|
&attr, &cat);
|
|
|
|
|
|
if (rc >= 0) {
|
|
- uint8 *p = dev_db_info_buffer;
|
|
+ uint8 *p = pi_buf->data;
|
|
int16 dev_db_info_version = readInt16(p);
|
|
p+=sizeof(int16);
|
|
devInfo->colorDepth = readInt32(p);
|
|
@@ -472,8 +469,7 @@ readDeviceInfo(PalmSyncInfo * pInfo)
|
|
}
|
|
|
|
readAndUseDeviceInfoDatabase(devInfo,
|
|
- pInfo->pilot_buffer,
|
|
- pInfo->pilot_buffer_size);
|
|
+ pInfo->pi_buf);
|
|
|
|
/* Override the color depth if the user wants low res images. */
|
|
if (lowres) {
|
|
@@ -663,31 +659,36 @@ static int32
|
|
readDeviceUserConfig32(int userConfigDBHandle, AGUserConfig **deviceUserConfig)
|
|
{
|
|
recordid_t id;
|
|
- int bufferSize = BUFFERSIZE;
|
|
+ pi_buffer_t *pi_buf;
|
|
int attr = 0;
|
|
int cat = 0;
|
|
int rc;
|
|
- uint8 buffer[BUFFERSIZE];
|
|
AGBufferReader * r = NULL;
|
|
|
|
- rc = dlp_ReadRecordByIndex(sd, userConfigDBHandle, 0, (void *)buffer,
|
|
- &id, &bufferSize, &attr, &cat);
|
|
+ pi_buf = pi_buffer_new (BUFFERSIZE);
|
|
+
|
|
+ rc = dlp_ReadRecordByIndex(sd, userConfigDBHandle, 0, pi_buf,
|
|
+ &id, &attr, &cat);
|
|
|
|
if (rc < 0) {
|
|
if (verbose)
|
|
printf("readDeviceUserConfig: dlp_ReadRecordByIndex , err = %d\n",
|
|
rc);
|
|
+ pi_buffer_free (pi_buf);
|
|
return 0;
|
|
}
|
|
|
|
- r = AGBufferReaderNew(buffer);
|
|
+ r = AGBufferReaderNew(pi_buf->data);
|
|
if (r) {
|
|
*deviceUserConfig = AGUserConfigNew();
|
|
AGUserConfigReadData(*deviceUserConfig, (AGReader*)r);
|
|
AGBufferReaderFree(r);
|
|
+ pi_buffer_free (pi_buf);
|
|
return id;
|
|
- } else
|
|
+ } else {
|
|
+ pi_buffer_free (pi_buf);
|
|
return 0;
|
|
+ }
|
|
}
|
|
#define BUFFERSIZE 0xFFFF
|
|
/*---------------------------------------------------------------------------*/
|
|
@@ -695,31 +696,36 @@ static int32 readDeviceUserConfig31(int
|
|
AGUserConfig **deviceUserConfig)
|
|
{
|
|
recordid_t id;
|
|
- int bufferSize = BUFFERSIZE;
|
|
int attr = 0;
|
|
int cat = 0;
|
|
int rc;
|
|
- uint8 buffer[BUFFERSIZE];
|
|
+ pi_buffer_t *pi_buf;
|
|
AGBufferReader * r = NULL;
|
|
|
|
- rc = dlp_ReadRecordByIndex(sd, userConfigDBHandle, 0, (void *)buffer,
|
|
- &id, &bufferSize, &attr, &cat);
|
|
+ pi_buf = pi_buffer_new (BUFFERSIZE);
|
|
+
|
|
+ rc = dlp_ReadRecordByIndex(sd, userConfigDBHandle, 0, pi_buf,
|
|
+ &id, &attr, &cat);
|
|
|
|
if (rc < 0) {
|
|
if (verbose)
|
|
printf("readDeviceUserConfig: dlp_ReadRecordByIndex , err = %d\n",
|
|
rc);
|
|
+ pi_buffer_free (pi_buf);
|
|
return 0;
|
|
}
|
|
|
|
- r = AGBufferReaderNew(buffer);
|
|
+ r = AGBufferReaderNew(pi_buf->data);
|
|
if (r) {
|
|
*deviceUserConfig = AGUserConfigNew();
|
|
MAL31ReadUserData(*deviceUserConfig, (AGReader*)r);
|
|
AGBufferReaderFree(r);
|
|
+ pi_buffer_free (pi_buf);
|
|
return id;
|
|
- } else
|
|
+ } else {
|
|
+ pi_buffer_free (pi_buf);
|
|
return 0;
|
|
+ }
|
|
}
|
|
/*---------------------------------------------------------------------------*/
|
|
static int32 readDeviceUserConfig(int userConfigDBHandle,
|
|
@@ -740,23 +746,25 @@ static void writeDeviceUserConfig(int us
|
|
{
|
|
|
|
recordid_t id;
|
|
- int bufferSize = BUFFERSIZE;
|
|
int attr = 0;
|
|
int cat = 0;
|
|
- uint8 buffer[BUFFERSIZE];
|
|
AGBufferWriter * w = NULL;
|
|
+
|
|
w = AGBufferWriterNew(0);
|
|
if (w) {
|
|
long result;
|
|
+ pi_buffer_t *pi_buf;
|
|
|
|
+ pi_buf = pi_buffer_new (BUFFERSIZE);
|
|
+
|
|
if (threeone) {
|
|
MAL31WriteUserData(deviceUserConfig, (AGWriter*)w);
|
|
} else {
|
|
AGUserConfigWriteData(deviceUserConfig, (AGWriter*)w);
|
|
}
|
|
|
|
- result = dlp_ReadRecordByIndex(sd, userConfigDBHandle, 0, (void *)buffer,
|
|
- &id, &bufferSize, &attr, &cat);
|
|
+ result = dlp_ReadRecordByIndex(sd, userConfigDBHandle, 0, pi_buf,
|
|
+ &id, &attr, &cat);
|
|
|
|
if (result < 0)
|
|
id = 0;
|
|
@@ -766,7 +774,7 @@ static void writeDeviceUserConfig(int us
|
|
AGBufferWriterGetBufferSize(w),
|
|
&id);
|
|
AGBufferWriterFree(w);
|
|
-
|
|
+ pi_buffer_free (pi_buf);
|
|
}
|
|
}
|
|
|
|
@@ -1044,17 +1052,17 @@ getRecordBase(PalmSyncInfo * pInfo, AGBo
|
|
int32 result;
|
|
int att = 0;
|
|
int cat = 0;
|
|
- int size = pInfo->pilot_buffer_size;
|
|
+ //int size = pInfo->pi_buf->allocated;
|
|
int idx = pInfo->pilot_RecIndex++;
|
|
|
|
result = (modonly) ?
|
|
- dlp_ReadNextModifiedRec (sd, pInfo->pilot_rHandle, pInfo->pilot_buffer,
|
|
+ dlp_ReadNextModifiedRec (sd, pInfo->pilot_rHandle, pInfo->pi_buf,
|
|
&pInfo->id, &idx,
|
|
- &size, &att, &cat)
|
|
+ &att, &cat)
|
|
:
|
|
dlp_ReadRecordByIndex(sd, pInfo->pilot_rHandle, idx,
|
|
- pInfo->pilot_buffer, &pInfo->id,
|
|
- &size, &att, &cat);
|
|
+ pInfo->pi_buf, &pInfo->id,
|
|
+ &att, &cat);
|
|
|
|
if (result < 0) {
|
|
closeDatabase(pInfo);
|
|
@@ -1070,7 +1078,7 @@ getRecordBase(PalmSyncInfo * pInfo, AGBo
|
|
}
|
|
pInfo->record = AGRecordInit(pInfo->record, pInfo->id,
|
|
AGPalmPilotAttribsToMALMod((uint8)att),
|
|
- size, pInfo->pilot_buffer, 0, NULL);
|
|
+ pInfo->pi_buf->used, pInfo->pi_buf->data, 0, NULL);
|
|
|
|
*record = pInfo->record;
|
|
return AGCLIENT_CONTINUE;
|
|
@@ -1363,7 +1371,6 @@ main(int argc, char *argv[])
|
|
static void
|
|
Connect(PalmSyncInfo *pi)
|
|
{
|
|
- struct pi_sockaddr addr;
|
|
int ret;
|
|
|
|
if (sd != 0)
|
|
@@ -1609,7 +1616,6 @@ fill_in_versioninfo(int sd, AGExpansionV
|
|
0,
|
|
(void *)version_buffer,
|
|
&id,
|
|
- &version_buffer_size,
|
|
&attr,
|
|
&cat);
|
|
|