diff --git a/pilot-link-0.11.0-perlmd5.patch b/pilot-link-0.11.0-perlmd5.patch new file mode 100644 index 0000000..cf5b1a8 --- /dev/null +++ b/pilot-link-0.11.0-perlmd5.patch @@ -0,0 +1,38 @@ +--- pilot-link.0.9.5/src/sync-plan.PL.md5 Wed May 29 11:08:47 2002 ++++ pilot-link.0.9.5/src/sync-plan.PL Wed May 29 11:09:03 2002 +@@ -6,7 +6,7 @@ + use IO::Socket; + use IO::Select; + use Time::Local; +-use MD5; ++use Digest::MD5; + use PDA::Pilot; + + sub DatePlanToPerl { +@@ -313,7 +313,7 @@ + } + } + +- my($hash) = new MD5; ++ my($hash) = new Digest::MD5; + foreach (@output) { + #print "Adding |$_| to hash\n"; + $hash->add($_); +@@ -490,7 +490,7 @@ + my(@l) = split(/\n/,$r); + my($rec) = { raw => [@l], other => [] }; + my(@E,@R,@N,@M,@S,@US); +- my($hash) = new MD5; ++ my($hash) = new Digest::MD5; + $l[0] =~ s/\s+/ /g; + $hash->add($l[0]); + my($date, $time, $length, $early, $late, $flags, $color) = split(/\s+/, shift @l); +@@ -566,7 +566,7 @@ + + sub HashPilotRecord { + my($record) = @_; +- my($hash) = new MD5; ++ my($hash) = new Digest::MD5; + $hash->add($record->{raw}); + $hash->hexdigest; + } diff --git a/pilot-link-0.11.0-perlpollute.patch b/pilot-link-0.11.0-perlpollute.patch new file mode 100644 index 0000000..2c1c9cf --- /dev/null +++ b/pilot-link-0.11.0-perlpollute.patch @@ -0,0 +1,640 @@ +--- pilot-link-0.11.0/bindings/Perl/Pilot.xs.perlpollute 2002-07-12 14:40:04.000000000 +0200 ++++ pilot-link-0.11.0/bindings/Perl/Pilot.xs 2002-07-18 10:40:45.000000000 +0200 +@@ -333,7 +333,7 @@ + #define pack_dbinfo(arg, var, failure)\ + {\ + if (failure < 0) {\ +- arg = &sv_undef;\ ++ arg = &PL_sv_undef;\ + self->errnop = failure;\ + } else {\ + HV * i = newHV();\ +@@ -387,8 +387,8 @@ + var.createDate = (s = hv_fetch(i, "createDate", 10, 0)) ? SvIV(*s) : 0;\ + var.modifyDate = (s = hv_fetch(i, "modifyDate", 10, 0)) ? SvIV(*s) : 0;\ + var.backupDate = (s = hv_fetch(i, "backupDate", 10, 0)) ? SvIV(*s) : 0;\ +- if ((s = hv_fetch(i, "name", 4, 0)) ? SvPV(*s,na) : 0)\ +- strcpy(var.name, SvPV(*s, na));\ ++ if ((s = hv_fetch(i, "name", 4, 0)) ? SvPV(*s,PL_na) : 0)\ ++ strcpy(var.name, SvPV(*s, PL_na));\ + } else {\ + croak("argument is not a hash reference");\ + } +@@ -396,7 +396,7 @@ + #define pack_userinfo(arg, var, failure)\ + {\ + if (failure < 0) {\ +- arg = &sv_undef;\ ++ arg = &PL_sv_undef;\ + self->errnop = failure;\ + } else {\ + HV * i = newHV();\ +@@ -420,8 +420,8 @@ + var.lastSyncPC = (s = hv_fetch(i, "lastSyncPC", 10, 0)) ? SvIV(*s) : 0;\ + var.lastSyncDate = (s = hv_fetch(i, "lastSyncDate", 12, 0)) ? SvIV(*s) : 0;\ + var.successfulSyncDate = (s = hv_fetch(i, "successfulSyncDate", 18, 0)) ? SvIV(*s) : 0;\ +- if ((s = hv_fetch(i, "name", 4, 0)) ? SvPV(*s,na) : 0)\ +- strcpy(var.username, SvPV(*s, na));\ ++ if ((s = hv_fetch(i, "name", 4, 0)) ? SvPV(*s,PL_na) : 0)\ ++ strcpy(var.username, SvPV(*s, PL_na));\ + } else {\ + croak("argument is not a hash reference");\ + } +@@ -465,7 +465,7 @@ + }\ + } else {\ + self->errnop = result;\ +- PUSHs(&sv_undef);\ ++ PUSHs(&PL_sv_undef);\ + } + + #define PackSI\ +@@ -507,7 +507,7 @@ + }\ + } else {\ + self->errnop = result;\ +- PUSHs(&sv_undef);\ ++ PUSHs(&PL_sv_undef);\ + } + + #define PackRecord\ +@@ -602,7 +602,7 @@ + }\ + } else {\ + self->errnop = result;\ +- PUSHs(&sv_undef);\ ++ PUSHs(&PL_sv_undef);\ + } + + #define PackResource\ +@@ -654,7 +654,7 @@ + }\ + } else {\ + self->errnop = result;\ +- PUSHs(&sv_undef);\ ++ PUSHs(&PL_sv_undef);\ + } + + #define PackPref\ +@@ -717,7 +717,7 @@ + croak("Unable to create resource");\ + } else {\ + self->errnop = result;\ +- PUSHs(&sv_undef);\ ++ PUSHs(&PL_sv_undef);\ + } + + void doUnpackCategory(HV * self, struct CategoryAppInfo * c) +@@ -757,7 +757,7 @@ + + if ((s = hv_fetch(self, "categoryName", 12, 0)) && SvOK(*s) && SvRV(*s) && (SvTYPE(av=(AV*)SvRV(*s))==SVt_PVAV)) + for (i=0;i<16;i++) +- strncpy(c->name[i], (s=av_fetch(av, i, 0)) ? SvPV(*s,na) : "", 16); ++ strncpy(c->name[i], (s=av_fetch(av, i, 0)) ? SvPV(*s,PL_na) : "", 16); + else + for (i=0;i<16;i++) + strcpy(c->name[i], ""); +@@ -783,7 +783,7 @@ + int SvList(SV * arg, char **list) + { + int i; +- char * str = SvPV(arg, na); ++ char * str = SvPV(arg, PL_na); + for (i=0;list[i];i++) + if (strcasecmp(list[i], str)==0) + return i; +@@ -839,7 +839,7 @@ + } + + SvPV(record,len); +- if (unpack_Appointment(&a, (CPTR)SvPV(record, na), len)>0) { ++ if (unpack_Appointment(&a, (CPTR)SvPV(record, PL_na), len)>0) { + + hv_store(ret, "event", 5, newSViv(a.event), 0); + hv_store(ret, "begin", 5, newRV_noinc((SV*)tmtoav(&a.begin)), 0); +@@ -949,11 +949,11 @@ + u = 2; + break; + default: +- if (strEQ(SvPV(*s, na), "minutes")) ++ if (strEQ(SvPV(*s, PL_na), "minutes")) + u = 0; +- else if (strEQ(SvPV(*s, na), "hours")) ++ else if (strEQ(SvPV(*s, PL_na), "hours")) + u = 1; +- else if (strEQ(SvPV(*s, na), "days")) ++ else if (strEQ(SvPV(*s, PL_na), "days")) + u = 2; + else + croak("Invalid advance unit %d encountered", u); +@@ -1018,10 +1018,10 @@ + } + } + +- a.description = (s = hv_fetch(h, "description", 11, 0)) ? SvPV(*s,na) : 0; ++ a.description = (s = hv_fetch(h, "description", 11, 0)) ? SvPV(*s,PL_na) : 0; + if (!a.description) + croak("appointments must contain a description"); +- a.note = (s = hv_fetch(h, "note", 4, 0)) ? SvPV(*s,na) : 0; ++ a.note = (s = hv_fetch(h, "note", 4, 0)) ? SvPV(*s,PL_na) : 0; + + len = pack_Appointment(&a, (CPTR)mybuf, 0xffff); + +@@ -1063,7 +1063,7 @@ + } + + SvPV(record,len); +- if (unpack_AppointmentAppInfo(&a, (CPTR)SvPV(record, na), len)>0) { ++ if (unpack_AppointmentAppInfo(&a, (CPTR)SvPV(record, PL_na), len)>0) { + + doUnpackCategory(ret, &a.category); + +@@ -1135,7 +1135,7 @@ + } + + SvPV(record,len); +- if (unpack_ToDo(&a, (CPTR)SvPV(record, na), len)>0) { ++ if (unpack_ToDo(&a, (CPTR)SvPV(record, PL_na), len)>0) { + + if (!a.indefinite) + hv_store(ret, "due", 3, newRV_noinc((SV*)tmtoav(&a.due)), 0); +@@ -1182,8 +1182,8 @@ + a.indefinite = 1; + } + +- a.description = (s = hv_fetch(h, "description", 11, 0)) ? SvPV(*s,na) : 0; +- a.note = (s = hv_fetch(h, "note", 4, 0)) ? SvPV(*s,na) : 0; ++ a.description = (s = hv_fetch(h, "description", 11, 0)) ? SvPV(*s,PL_na) : 0; ++ a.note = (s = hv_fetch(h, "note", 4, 0)) ? SvPV(*s,PL_na) : 0; + + len = pack_ToDo(&a, (CPTR)mybuf, 0xffff); + +@@ -1222,7 +1222,7 @@ + } + + SvPV(record,len); +- if (unpack_ToDoAppInfo(&a, (CPTR)SvPV(record, na), len)>0) { ++ if (unpack_ToDoAppInfo(&a, (CPTR)SvPV(record, PL_na), len)>0) { + + doUnpackCategory(ret, &a.category); + +@@ -1296,7 +1296,7 @@ + } + + SvPV(record,len); +- if (unpack_Address(&a, (CPTR)SvPV(record, na), len)>0) { ++ if (unpack_Address(&a, (CPTR)SvPV(record, PL_na), len)>0) { + + e = newAV(); + hv_store(ret, "phoneLabel", 10, newRV_noinc((SV*)e), 0); +@@ -1309,7 +1309,7 @@ + hv_store(ret, "entry", 5, newRV_noinc((SV*)e), 0); + + for (i=0;i<19;i++) { +- av_push(e, a.entry[i] ? newSVpv(a.entry[i],0) : &sv_undef); ++ av_push(e, a.entry[i] ? newSVpv(a.entry[i],0) : &PL_sv_undef); + } + + hv_store(ret, "showPhone", 9, newSViv(a.showPhone), 0); +@@ -1350,7 +1350,7 @@ + + if ((s = hv_fetch(h, "entry", 5, 0)) && SvOK(*s) && SvRV(*s) && (SvTYPE(av=(AV*)SvRV(*s))==SVt_PVAV)) + for (i=0;i<19;i++) +- a.entry[i] = ((s=av_fetch(av, i, 0)) && SvOK(*s)) ? SvPV(*s,na) : 0; ++ a.entry[i] = ((s=av_fetch(av, i, 0)) && SvOK(*s)) ? SvPV(*s,PL_na) : 0; + else + for (i=0;i<19;i++) + a.entry[i] = 0; +@@ -1397,7 +1397,7 @@ + } + + SvPV(record,len); +- if (unpack_AddressAppInfo(&a, (CPTR)SvPV(record, na), len)>0) { ++ if (unpack_AddressAppInfo(&a, (CPTR)SvPV(record, PL_na), len)>0) { + + doUnpackCategory(ret, &a.category); + +@@ -1457,13 +1457,13 @@ + a.sortByCompany = (s = hv_fetch(h, "sortByCompany", 13, 0)) ? SvIV(*s) : 0; + + if ((s = hv_fetch(h, "label", 5, 0)) && SvOK(*s) && SvRV(*s) && (SvTYPE(av=(AV*)SvRV(*s))==SVt_PVAV)) +- for (i=0;i<22;i++) strncpy(a.labels[i], (s=av_fetch(av, i, 0)) ? SvPV(*s,na) : "", 16); ++ for (i=0;i<22;i++) strncpy(a.labels[i], (s=av_fetch(av, i, 0)) ? SvPV(*s,PL_na) : "", 16); + else + for (i=0;i<22;i++) a.labels[i][0] = 0; + for (i=0;i<22;i++) a.labels[i][15] = 0; + + if ((s = hv_fetch(h, "phoneLabel", 10, 0)) && SvOK(*s) && SvRV(*s) && (SvTYPE(av=(AV*)SvRV(*s))==SVt_PVAV)) +- for (i=0;i<8;i++) strncpy(a.phoneLabels[i], (s=av_fetch(av, i, 0)) ? SvPV(*s,na) : "", 16); ++ for (i=0;i<8;i++) strncpy(a.phoneLabels[i], (s=av_fetch(av, i, 0)) ? SvPV(*s,PL_na) : "", 16); + else + for (i=0;i<8;i++) a.phoneLabels[i][0] = 0; + for (i=0;i<8;i++) a.phoneLabels[i][15] = 0; +@@ -1506,7 +1506,7 @@ + } + + SvPV(record,len); +- if (unpack_Memo(&a, (CPTR)SvPV(record, na), len)>0) { ++ if (unpack_Memo(&a, (CPTR)SvPV(record, PL_na), len)>0) { + + hv_store(ret, "text", 4, newSVpv(a.text,0), 0); + +@@ -1536,7 +1536,7 @@ + else { + + if ((s = hv_fetch(h, "text", 4, 0))) +- a.text = SvPV(*s,na); ++ a.text = SvPV(*s,PL_na); + else + a.text = 0; + +@@ -1576,7 +1576,7 @@ + } + + SvPV(record,len); +- if (unpack_MemoAppInfo(&a, (CPTR)SvPV(record, na), len)>0) { ++ if (unpack_MemoAppInfo(&a, (CPTR)SvPV(record, PL_na), len)>0) { + + doUnpackCategory(ret, &a.category); + +@@ -1647,7 +1647,7 @@ + } + + SvPV(record,len); +- if (unpack_Expense(&e, (CPTR)SvPV(record, na), len)>0) { ++ if (unpack_Expense(&e, (CPTR)SvPV(record, PL_na), len)>0) { + + hv_store(ret, "date", 4, newRV_noinc((SV*)tmtoav(&e.date)), 0); + hv_store(ret, "type", 4, newSVlist(e.type,ExpenseTypeNames),0); +@@ -1706,15 +1706,15 @@ + avtotm((AV*)SvRV(*s), &e.date); + else + croak("expense record must contain date"); +- if ((s = hv_fetch(h, "amount", 6, 0))) e.amount = SvPV(*s,na); ++ if ((s = hv_fetch(h, "amount", 6, 0))) e.amount = SvPV(*s,PL_na); + else e.amount = 0; +- if ((s = hv_fetch(h, "vendor", 6, 0))) e.vendor = SvPV(*s,na); ++ if ((s = hv_fetch(h, "vendor", 6, 0))) e.vendor = SvPV(*s,PL_na); + else e.vendor = 0; +- if ((s = hv_fetch(h, "city", 4, 0))) e.city = SvPV(*s,na); ++ if ((s = hv_fetch(h, "city", 4, 0))) e.city = SvPV(*s,PL_na); + else e.city = 0; +- if ((s = hv_fetch(h, "attendess", 9, 0))) e.attendees = SvPV(*s,na); ++ if ((s = hv_fetch(h, "attendess", 9, 0))) e.attendees = SvPV(*s,PL_na); + else e.attendees = 0; +- if ((s = hv_fetch(h, "note", 4, 0))) e.note = SvPV(*s,na); ++ if ((s = hv_fetch(h, "note", 4, 0))) e.note = SvPV(*s,PL_na); + else e.note = 0; + + len = pack_Expense(&e, (CPTR)mybuf, 0xffff); +@@ -1755,7 +1755,7 @@ + } + + SvPV(record,len); +- if (unpack_ExpenseAppInfo(&e, (CPTR)SvPV(record, na), len)>0) { ++ if (unpack_ExpenseAppInfo(&e, (CPTR)SvPV(record, PL_na), len)>0) { + + hv_store(ret, "sortOrder", 9, newSVlist(e.sortOrder,ExpenseSortNames),0); + a = newAV(); +@@ -1798,15 +1798,15 @@ + HV * hv; + if ((s=av_fetch(av, i, 0)) && SvOK(*s) && SvRV(*s) && (SvTYPE(hv=(HV*)SvRV(*s))==SVt_PVHV)) { + if (s = hv_fetch(hv, "name", 4, 0)) { +- strncpy(e.currencies[i].name, SvPV(*s, na), 16); ++ strncpy(e.currencies[i].name, SvPV(*s, PL_na), 16); + e.currencies[i].name[15] = 0; + } + if (s = hv_fetch(hv, "symbol", 6, 0)) { +- strncpy(e.currencies[i].symbol, SvPV(*s, na), 4); ++ strncpy(e.currencies[i].symbol, SvPV(*s, PL_na), 4); + e.currencies[i].symbol[3] = 0; + } + if (s = hv_fetch(hv, "rate", 4, 0)) { +- strncpy(e.currencies[i].rate, SvPV(*s, na), 8); ++ strncpy(e.currencies[i].rate, SvPV(*s, PL_na), 8); + e.currencies[i].rate[7] = 0; + } + } +@@ -1854,7 +1854,7 @@ + } + + SvPV(record,len); +- if (unpack_ExpensePref(&a, (CPTR)SvPV(record, na), len)>0) { ++ if (unpack_ExpensePref(&a, (CPTR)SvPV(record, PL_na), len)>0) { + + hv_store(ret, "unitOfDistance", 14, newSVlist(a.unitOfDistance, ExpenseDistanceNames), 0); + hv_store(ret, "currentCategory", 15, newSViv(a.currentCategory), 0); +@@ -1944,7 +1944,7 @@ + } + + SvPV(record,len); +- if (unpack_Mail(&a, (CPTR)SvPV(record, na), len)>0) { ++ if (unpack_Mail(&a, (CPTR)SvPV(record, PL_na), len)>0) { + + if (a.subject) hv_store(ret, "subject", 7, newSVpv(a.subject,0), 0); + if (a.from) hv_store(ret, "from", 4, newSVpv(a.from,0), 0); +@@ -1990,14 +1990,14 @@ + } + else { + +- a.subject = (s = hv_fetch(h, "subject", 7, 0)) ? SvPV(*s,na) : 0; +- a.from = (s = hv_fetch(h, "from", 4, 0)) ? SvPV(*s,na) : 0; +- a.to = (s = hv_fetch(h, "to", 2, 0)) ? SvPV(*s,na) : 0; +- a.cc = (s = hv_fetch(h, "cc", 2, 0)) ? SvPV(*s,na) : 0; +- a.bcc = (s = hv_fetch(h, "bcc", 3, 0)) ? SvPV(*s,na) : 0; +- a.replyTo = (s = hv_fetch(h, "replyTo", 7, 0)) ? SvPV(*s,na) : 0; +- a.sentTo = (s = hv_fetch(h, "sentTo", 6, 0)) ? SvPV(*s,na) : 0; +- a.body = (s = hv_fetch(h, "body", 4, 0)) ? SvPV(*s,na) : 0; ++ a.subject = (s = hv_fetch(h, "subject", 7, 0)) ? SvPV(*s,PL_na) : 0; ++ a.from = (s = hv_fetch(h, "from", 4, 0)) ? SvPV(*s,PL_na) : 0; ++ a.to = (s = hv_fetch(h, "to", 2, 0)) ? SvPV(*s,PL_na) : 0; ++ a.cc = (s = hv_fetch(h, "cc", 2, 0)) ? SvPV(*s,PL_na) : 0; ++ a.bcc = (s = hv_fetch(h, "bcc", 3, 0)) ? SvPV(*s,PL_na) : 0; ++ a.replyTo = (s = hv_fetch(h, "replyTo", 7, 0)) ? SvPV(*s,PL_na) : 0; ++ a.sentTo = (s = hv_fetch(h, "sentTo", 6, 0)) ? SvPV(*s,PL_na) : 0; ++ a.body = (s = hv_fetch(h, "body", 4, 0)) ? SvPV(*s,PL_na) : 0; + + a.read = (s = hv_fetch(h, "read", 4, 0)) ? SvIV(*s) : 0; + a.signature = (s = hv_fetch(h, "signature", 9, 0)) ? SvIV(*s) : 0; +@@ -2045,7 +2045,7 @@ + } + + SvPV(record,len); +- if (unpack_MailAppInfo(&a, (CPTR)SvPV(record, na), len)>0) { ++ if (unpack_MailAppInfo(&a, (CPTR)SvPV(record, PL_na), len)>0) { + + doUnpackCategory(ret, &a.category); + +@@ -2121,7 +2121,7 @@ + } + + SvPV(record,len); +- if (unpack_MailSyncPref(&a, (CPTR)SvPV(record, na), len)>0) { ++ if (unpack_MailSyncPref(&a, (CPTR)SvPV(record, PL_na), len)>0) { + + hv_store(ret, "syncType", 8, newSVlist(a.syncType, MailSyncTypeNames), 0); + hv_store(ret, "getHigh", 7, newSViv(a.getHigh), 0); +@@ -2165,9 +2165,9 @@ + a.getContaining = (s=hv_fetch(h,"getContaining",13,0)) ? SvIV(*s) : 0; + a.truncate = (s=hv_fetch(h,"truncate",8,0)) ? SvIV(*s) : 0; + +- a.filterTo = (s=hv_fetch(h,"filterTo",8,0)) ? SvPV(*s,na) : 0; +- a.filterFrom = (s=hv_fetch(h,"filterFrom",10,0)) ? SvPV(*s,na) : 0; +- a.filterSubject = (s=hv_fetch(h,"filterSubject",13,0)) ? SvPV(*s,na) : 0; ++ a.filterTo = (s=hv_fetch(h,"filterTo",8,0)) ? SvPV(*s,PL_na) : 0; ++ a.filterFrom = (s=hv_fetch(h,"filterFrom",10,0)) ? SvPV(*s,PL_na) : 0; ++ a.filterSubject = (s=hv_fetch(h,"filterSubject",13,0)) ? SvPV(*s,PL_na) : 0; + + len = pack_MailSyncPref(&a, (CPTR)mybuf, 0xffff); + RETVAL = newSVpv(mybuf, len); +@@ -2203,7 +2203,7 @@ + } + + SvPV(record,len); +- if (unpack_MailSignaturePref(&a, (CPTR)SvPV(record, na), len)>0) { ++ if (unpack_MailSignaturePref(&a, (CPTR)SvPV(record, PL_na), len)>0) { + + if (a.signature) + hv_store(ret, "signature", 9, newSVpv(a.signature, 0), 0); +@@ -2229,7 +2229,7 @@ + RETVAL = record; + else { + +- a.signature = (s=hv_fetch(h,"signature",9,0)) ? SvPV(*s,na) : 0; ++ a.signature = (s=hv_fetch(h,"signature",9,0)) ? SvPV(*s,PL_na) : 0; + + len = pack_MailSignaturePref(&a, (CPTR)mybuf, 0xffff); + RETVAL = newSVpv(mybuf, len); +@@ -2257,7 +2257,7 @@ + { + STRLEN len; + SvPV(msg, len); +- RETVAL = pi_write(socket,SvPV(msg,na),len); ++ RETVAL = pi_write(socket,SvPV(msg,PL_na),len); + } + + SV * +@@ -2273,7 +2273,7 @@ + if (result >=0) + RETVAL = newSVpv(mybuf, result); + else +- RETVAL = &sv_undef; ++ RETVAL = &PL_sv_undef; + } + OUTPUT: + RETVAL +@@ -2318,7 +2318,7 @@ + char * name; + struct pi_sockaddr * a; + if ((s = hv_fetch(h, "device", 6, 0))) +- name = SvPV(*s,na); ++ name = SvPV(*s,PL_na); + else + name = ""; + a = calloc(1,sizeof(struct pi_sockaddr)+strlen(name)); +@@ -2418,7 +2418,7 @@ + croak("DBClasses doesn't exist"); + if (SvOK(name)) { + (void)SvPV(name,len); +- s = hv_fetch(h, SvPV(name,na), len, 0); ++ s = hv_fetch(h, SvPV(name,PL_na), len, 0); + } + if (!s) + s = hv_fetch(h, "", 0, 0); +@@ -2879,7 +2879,7 @@ + result = dlp_WriteResource(self->socket, self->handle, type, id, c, len); + if (result < 0) { + self->errnop = result; +- RETVAL = newSVsv(&sv_undef); ++ RETVAL = newSVsv(&PL_sv_undef); + } else + RETVAL = newSViv(result); + } +@@ -2931,7 +2931,7 @@ + r = dlp_CloseDB(self->socket, self->handle); + result = dlp_ReadAppPreference(self->socket, creator, id, backup, 0xFFFF, mybuf, &len, &version); + if (pi_version(self->socket)< 0x101) +- r = dlp_OpenDB(self->socket, self->dbcard, self->dbmode, SvPV(self->dbname,na), &self->handle); ++ r = dlp_OpenDB(self->socket, self->dbcard, self->dbmode, SvPV(self->dbname,PL_na), &self->handle); + ReturnReadPref(mybuf, len); + } + +@@ -2955,10 +2955,10 @@ + r = dlp_CloseDB(self->socket, self->handle); + result = dlp_WriteAppPreference(self->socket, creator, id, backup, version, buf, len); + if (pi_version(self->socket)< 0x101) +- r = dlp_OpenDB(self->socket, self->dbcard, self->dbmode, SvPV(self->dbname,na), &self->handle); ++ r = dlp_OpenDB(self->socket, self->dbcard, self->dbmode, SvPV(self->dbname,PL_na), &self->handle); + if (result < 0) { + self->errnop = result; +- RETVAL = newSVsv(&sv_undef); ++ RETVAL = newSVsv(&PL_sv_undef); + } else { + RETVAL = newSViv(result); + } +@@ -2994,7 +2994,7 @@ + result = dlp_WriteAppPreference(self->socket, creator, number, backup, version, buf, len); + if (result < 0) { + self->errnop = result; +- RETVAL = newSVsv(&sv_undef); ++ RETVAL = newSVsv(&PL_sv_undef); + } else { + RETVAL = newSViv(result); + } +@@ -3029,7 +3029,7 @@ + int result = dlp_GetSysDateTime(self->socket, &t); + if (result < 0) { + self->errnop = result; +- RETVAL = newSVsv(&sv_undef); ++ RETVAL = newSVsv(&PL_sv_undef); + } else + RETVAL = newSViv(t); + } +@@ -3054,7 +3054,7 @@ + int result = dlp_ReadSysInfo(self->socket, &si); + if (result < 0) { + self->errnop = result; +- RETVAL = newSVsv(&sv_undef); ++ RETVAL = newSVsv(&PL_sv_undef); + } else { + HV * i = newHV(); + hv_store(i, "romVersion", 10, newSViv(si.romVersion), 0);\ +@@ -3076,7 +3076,7 @@ + int result = dlp_ReadStorageInfo(self->socket, cardno, &c); + if (result < 0) { + self->errnop = result; +- RETVAL = newSVsv(&sv_undef); ++ RETVAL = newSVsv(&PL_sv_undef); + } else { + HV * i = newHV(); + hv_store(i, "card", 6, newSViv(c.card), 0);\ +@@ -3162,7 +3162,7 @@ + croak("Default PrefClass not defined"); + PUSHMARK(sp); + XPUSHs(newSVsv(*s)); +- XPUSHs(&sv_undef); ++ XPUSHs(&PL_sv_undef); + XPUSHs(sv_2mortal(newSVChar4(creator))); + if (id) + XPUSHs(id); +@@ -3232,7 +3232,7 @@ + result = dlp_OpenDB(self->socket, cardno, nummode, name, &handle); + if (result<0) { + self->errnop = result; +- RETVAL = &sv_undef; ++ RETVAL = &PL_sv_undef; + } else { + int type; + PDA__Pilot__DLP__DB * x = malloc(sizeof(PDA__Pilot__DLP__DB)); +@@ -3281,7 +3281,7 @@ + int result = dlp_CreateDB(self->socket, creator, type, cardno, flags, version, name, &handle); + if (result<0) { + self->errnop = result; +- RETVAL = &sv_undef; ++ RETVAL = &PL_sv_undef; + } else { + PDA__Pilot__DLP__DB * x = malloc(sizeof(PDA__Pilot__DLP__DB)); + SV * sv = newSViv((IV)(void*)x); +@@ -3348,7 +3348,7 @@ + result = dlp_WriteAppPreference(self->socket, creator, id, backup, version, buf, len); + if (result < 0) { + self->errnop = result; +- RETVAL = newSVsv(&sv_undef); ++ RETVAL = newSVsv(&PL_sv_undef); + } else { + RETVAL = newSViv(result); + } +@@ -3372,7 +3372,7 @@ + result = dlp_WriteAppPreference(self->socket, creator, number, backup, version, buf, len); + if (result < 0) { + self->errnop = result; +- RETVAL = newSVsv(&sv_undef); ++ RETVAL = newSVsv(&PL_sv_undef); + } else { + RETVAL = newSViv(result); + } +@@ -3473,7 +3473,7 @@ + else + t = 0; + result = dlp_FindDBInfo(self->socket, cardno, start, +- SvOK(name) ? SvPV(name,na) : 0, ++ SvOK(name) ? SvPV(name,PL_na) : 0, + t, c, &info); + pack_dbinfo(RETVAL, info, result); + } +@@ -3490,7 +3490,7 @@ + unsigned long f; + int result; + if ((result = dlp_ReadFeature(self->socket, creator, number, &f))<0) { +- RETVAL = newSVsv(&sv_undef); ++ RETVAL = newSVsv(&PL_sv_undef); + self->errnop = result; + } else { + RETVAL = newSViv(f); +@@ -3520,7 +3520,7 @@ + } + + void +-callApplication(self, creator, type, action, data=&sv_undef, maxretlen=0xFFFF) ++callApplication(self, creator, type, action, data=&PL_sv_undef, maxretlen=0xFFFF) + PDA::Pilot::DLP * self + Char4 creator + Char4 type +@@ -3534,7 +3534,7 @@ + int result; + (void)SvPV(data,len); + result = dlp_CallApplication(self->socket, creator, +- type, action, len, SvPV(data,na), ++ type, action, len, SvPV(data,PL_na), + &retcode, maxretlen, (int *)&len, mybuf); + EXTEND(sp, 2); + if (result >= 0) { +@@ -3543,7 +3543,7 @@ + PUSHs(sv_2mortal(newSViv(retcode))); + } + } else +- PUSHs(&sv_undef); ++ PUSHs(&PL_sv_undef); + } + + int +@@ -3654,7 +3654,7 @@ + croak("DBClasses doesn't exist"); + if (SvOK(name)) { + (void)SvPV(name, len); +- s = hv_fetch(h, SvPV(name, na), len, 0); ++ s = hv_fetch(h, SvPV(name, PL_na), len, 0); + } + if (!s) + s = hv_fetch(h, "", 0, 0); +@@ -3714,7 +3714,7 @@ + result = pi_file_get_entries(self->pf, &len); + if (result) { + self->errnop = result; +- RETVAL = &sv_undef; ++ RETVAL = &PL_sv_undef; + } else + RETVAL = newSViv(len); + } +--- pilot-link-0.11.0/bindings/Perl/Makefile.PL.in.perlpollute 2002-07-12 17:12:52.000000000 +0200 ++++ pilot-link-0.11.0/bindings/Perl/Makefile.PL.in 2002-07-18 10:33:03.000000000 +0200 +@@ -14,5 +14,4 @@ + 'LIBS' => $lib, + 'XSPROTOARG' => '-noprototypes', + 'INC' => '-I../../include', +- 'DEFINE' => '-DPERL_POLLUTE', + ); +--- pilot-link-0.11.0/bindings/Perl/typemap.perlpollute 2000-10-28 02:23:48.000000000 +0200 ++++ pilot-link-0.11.0/bindings/Perl/typemap 2002-07-18 10:33:03.000000000 +0200 +@@ -50,9 +50,9 @@ + + T_RESULT + if ($var < 0) { +- sv_setsv($arg, &sv_no); ++ sv_setsv($arg, &PL_sv_no); + self->errnop = $var; + } else +- sv_setsv($arg, &sv_yes); ++ sv_setsv($arg, &PL_sv_yes); + T_PTROBJ + sv_setref_pv($arg, \"${ntype}\", (void*)$var); diff --git a/pilot-link-0.11.2-malsync.patch b/pilot-link-0.11.2-malsync.patch new file mode 100644 index 0000000..f1dce09 --- /dev/null +++ b/pilot-link-0.11.2-malsync.patch @@ -0,0 +1,95 @@ +--- pilot-link-0.11.2/bindings/Perl/Makefile.PL.in.malsync 2002-08-06 22:04:46.000000000 +0200 ++++ pilot-link-0.11.2/bindings/Perl/Makefile.PL.in 2002-08-06 22:08:12.000000000 +0200 +@@ -11,7 +11,7 @@ + WriteMakefile( + 'NAME' => 'PDA::Pilot', + 'VERSION' => '@PILOT_LINK_VERS@.@PILOT_LINK_MAJOR@.@PILOT_LINK_MINOR@', +- 'LIBS' => $lib, ++ 'LDFROM' => "Pilot.o $lib", + 'XSPROTOARG' => '-noprototypes', + 'INC' => '-I../../include', + ); +--- pilot-link-0.11.2/bindings/Perl/Pilot.pm.malsync 2001-12-30 21:26:00.000000000 +0100 ++++ pilot-link-0.11.2/bindings/Perl/Pilot.pm 2002-08-06 22:04:46.000000000 +0200 +@@ -755,8 +755,16 @@ + + Returns last DLP error, resetting error to zero. + ++=item PDA::Pilot::DLP::socket() ++ ++Returns DLP socket. ++ + =item PDA::Pilot::DLP::GetSysDateTime(socket) + ++=item PDA::Pilot::DLP::socket() ++ ++Returns the socket in use by DLP. ++ + Same as DLP call dlp_GetSysDateTime. If successfull, returns time, otherwise + returns undef. + +--- pilot-link-0.11.2/bindings/Perl/Pilot.xs.malsync 2002-08-06 22:04:46.000000000 +0200 ++++ pilot-link-0.11.2/bindings/Perl/Pilot.xs 2002-08-06 22:04:46.000000000 +0200 +@@ -23,6 +23,10 @@ + #include "XSUB.h" + #include "patchlevel.h" + ++#include ++#include ++#include ++ + #include "pi-macros.h" + #include "pi-file.h" + #include "pi-datebook.h" +@@ -2270,7 +2274,7 @@ + if (len > sizeof(mybuf)) + len = sizeof(mybuf); + result = pi_read(socket, mybuf, len); +- if (result >=0) ++ if (result > 0) + RETVAL = newSVpv(mybuf, result); + else + RETVAL = &PL_sv_undef; +@@ -2353,6 +2357,26 @@ + OUTPUT: + RETVAL + ++int ++connect(port) ++ char * port ++ CODE: ++ { ++ struct pi_sockaddr a; ++ int socket; ++ ++ socket = pi_socket(PI_AF_PILOT, PI_SOCK_STREAM, PI_PF_PADP); ++ strcpy(a.pi_device, port); ++ a.pi_family = PI_AF_PILOT; ++ ++ if (pi_connect(socket, (struct sockaddr*)&a, sizeof(a))) ++ RETVAL = 0; ++ else ++ RETVAL = socket; ++ } ++ OUTPUT: ++ RETVAL ++ + SV * + accept(socket) + int socket +@@ -3020,6 +3044,15 @@ + OUTPUT: + RETVAL + ++int ++socket(self) ++ PDA::Pilot::DLP * self ++ CODE: ++ RETVAL = self->socket; ++ OUTPUT: ++ RETVAL ++ ++ + SV * + getTime(self) + PDA::Pilot::DLP * self diff --git a/pilot-link.spec b/pilot-link.spec index fbadb73..2b9d33c 100644 --- a/pilot-link.spec +++ b/pilot-link.spec @@ -1,19 +1,21 @@ %define support_perl 0 %define perl_version 5.8.0 -%define interversion cvs20050830 Summary: File transfer utilities between Linux and PalmPilots. Name: pilot-link -Version: 0.12.0 -Release: 0.pre4.5.2.1 -Source: pilot-link-%{version}-%{interversion}.tar.bz2 +Version: 0.11.8 +Release: 13 +Source: pilot-link-%{version}.tar.bz2 Url: http://www.pilot-link.org/ -Patch1: pilot-link-0.12.0-docbook-style-xsl-1.69.1.patch - -# upstream patches -Patch100: pilot-link-0.12.0-pre4-misc1.patch - -Epoch: 1 +Patch1: pilot-link-0.11.0-perlmd5.patch +Patch2: pilot-link-0.11.0-perlpollute.patch +Patch3: pilot-link-0.11.2-malsync.patch +Patch5: pilot-link-0.11.8-misc.patch +Patch6: pilot-link-0.11.8-size.patch +Patch7: pilot-link-0.11.8-readfile.patch +Patch8: pilot-link-0.11.8-underquoted.patch +Patch9: pilot-link-0.11.8-misc1.patch +Epoch: 2 License: GPL Group: Applications/Communications BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -56,9 +58,17 @@ If you want to develop PalmPilot synchronizing applications, you'll need to install pilot-link-devel. %prep -%setup -q -n %{name}-%{version}-%{interversion} -%patch1 -p1 -b .docbook-style-xsl -%patch100 -p1 -b .gccwarning +%setup -q +%if %{support_perl} +%patch1 -p1 -b .perlmd5 +%patch2 -p1 -b .perlpollute +%patch3 -p1 -b .malsync +%endif +%patch5 -p1 -b .misc +%patch6 -p1 -b .size +%patch7 -p1 -b .read +%patch8 -p1 -b .underquoted +%patch9 -p1 -b .misc1 %build CFLAGS="$RPM_OPT_FLAGS" %configure \ @@ -125,13 +135,15 @@ rm -rf $RPM_BUILD_ROOT %files devel %defattr(-,root,root) -%{_libdir}/pkgconfig/* %{_libdir}/*.a %{_libdir}/*.so %{_includedir}/* %{_datadir}/aclocal/*.m4 %changelog +* Wed Mar 29 2006 Than Ngo 2:0.11.8-13 +- downgrade to stable release 0.11.8 + * Fri Feb 10 2006 Jesse Keating - 1:0.12.0-0.pre4.5.2.1 - bump again for double-long bug on ppc(64) diff --git a/sources b/sources index f3ec66d..fbce3c8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -53c2ea236941bf9d897e3f3448376c94 pilot-link-0.12.0-cvs20050830.tar.bz2 +586f84add601e8b86da3093ab784e997 pilot-link-0.11.8.tar.bz2