xmblackberry-devel Mailing List for XmBlackBerry
Status: Beta
Brought to you by:
rwscott
You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(11) |
Oct
(3) |
Nov
(32) |
Dec
(40) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(1) |
Feb
|
Mar
(2) |
Apr
|
May
(1) |
Jun
(20) |
Jul
(2) |
Aug
(15) |
Sep
(9) |
Oct
(3) |
Nov
(10) |
Dec
(10) |
2008 |
Jan
(11) |
Feb
|
Mar
|
Apr
|
May
(9) |
Jun
(5) |
Jul
(3) |
Aug
|
Sep
(1) |
Oct
(19) |
Nov
(34) |
Dec
(4) |
2009 |
Jan
(53) |
Feb
(9) |
Mar
(70) |
Apr
(10) |
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
(15) |
Nov
|
Dec
|
2010 |
Jan
|
Feb
(2) |
Mar
(3) |
Apr
|
May
(3) |
Jun
(8) |
Jul
(18) |
Aug
(5) |
Sep
(1) |
Oct
(6) |
Nov
|
Dec
(7) |
2011 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
(2) |
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
From: Rick S. <rw...@us...> - 2013-09-21 12:11:39
|
Update of /cvsroot/xmblackberry/XmBlackBerry/WebApps/golf/cgi-sbin In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv2794/cgi-sbin Modified Files: golf Log Message: this years updates for my android and firefox Index: golf =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/WebApps/golf/cgi-sbin/golf,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** golf 12 Jul 2010 20:44:50 -0000 1.8 --- golf 21 Sep 2013 12:11:37 -0000 1.9 *************** *** 3,7 **** use English; use CGI; ! #use CGI::Pretty; $CGI::POST_MAX = 0; $CGI::DISABLE_UPLOADS = 1; --- 3,7 ---- use English; use CGI; ! use CGI::Pretty; $CGI::POST_MAX = 0; $CGI::DISABLE_UPLOADS = 1; *************** *** 69,73 **** for ($i = 0; $i <= $#cols; $i++) { ! push(@fields, $query->td({-name => "$sth->{'NAME'}->[$i]"}, $cols[$i])); } push(@rows, $query->Tr({-align => "center"}, @fields)); --- 69,78 ---- for ($i = 0; $i <= $#cols; $i++) { ! my($type_info); ! ! $type_info = ($dbh->type_info($sth->{'TYPE'}->[$i]))[0]; ! push(@fields, $query->td({-name => "$sth->{'NAME'}->[$i]", ! -column_type => "$type_info->{'TYPE_NAME'}", ! -column_size => "$type_info->{'COLUMN_SIZE'}"}, $cols[$i])); } push(@rows, $query->Tr({-align => "center"}, @fields)); *************** *** 349,352 **** --- 354,358 ---- print $query->table({-border => 1, -align => "center", + -style => "font-size: 1.0cm", -id => $query->param('Action')}, $query->Tr($query->th({-colspan => 0}, $query->param('Action'))), *************** *** 656,660 **** my ($dbh); ! $baseDB = "DBI:mysql:database=golf;host=den.rwscott.no-ip.org;mysql_client_found_rows=1;mysql_read_default_file=/var/www/.my.cnf"; $dbh = DBI->connect($baseDB, undef, undef, {AutoCommit => 0}); --- 662,666 ---- my ($dbh); ! $baseDB = "DBI:mysql:mysql_client_found_rows=1;mysql_read_default_group=golf;mysql_read_default_file=/var/www/.my.cnf"; $dbh = DBI->connect($baseDB, undef, undef, {AutoCommit => 0}); |
From: <dav...@mo...> - 2013-03-20 14:12:59
|
See attachment for make error. I do not understand what it is looking for and not finding. Sent from my BlackBerry® smartphone powered by Mobilicity |
From: Rick S. <rw...@us...> - 2011-10-07 13:11:05
|
Update of /cvsroot/xmblackberry/XmBlackBerry/kernel In directory vz-cvs-3.sog:/tmp/cvs-serv25852 Modified Files: config.h configure.ac init.c Log Message: Somewhere before 2.6.40, the file argument to tiocmget/tiocmset disappears. ./configure should now be able to figure this out, but Fedora 15 kernel-devel appears to be missing some of the kernel headers, so ./configure fails to find a lot of stuff :( The shipped config.h hard codes the version to 2.6.39 :( Index: config.h =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/kernel/config.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** config.h 10 Jul 2011 11:30:16 -0000 1.7 --- config.h 7 Oct 2011 13:11:02 -0000 1.8 *************** *** 28,31 **** --- 28,35 ---- #endif + #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39) + #define FILE_IN_TTY_OPS_TIOCM 1 + #endif + #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 16) #define HAVE_TTY_FLIP_BUFFER 1 Index: init.c =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/kernel/init.c,v retrieving revision 1.62 retrieving revision 1.63 diff -C2 -d -r1.62 -r1.63 *** init.c 10 Jul 2011 11:30:16 -0000 1.62 --- init.c 7 Oct 2011 13:11:02 -0000 1.63 *************** *** 98,103 **** --- 98,108 ---- static int mode_write_room(struct tty_struct *tty); static int mode_chars_in_buffer(struct tty_struct *tty); + #ifdef FILE_IN_TTY_OPS_TIOCM static int mode_tiocmget(struct tty_struct *tty, struct file *file); static int mode_tiocmset(struct tty_struct *tty, struct file *file, unsigned int set, unsigned int clear); + #else + static int mode_tiocmget(struct tty_struct *tty); + static int mode_tiocmset(struct tty_struct *tty, unsigned int set, unsigned int clear); + #endif static const struct tty_operations generic_ops = { *************** *** 383,387 **** --- 388,396 ---- static int + #ifdef FILE_IN_TTY_OPS_TIOCM mode_tiocmget(struct tty_struct *tty, struct file *file) + #else + mode_tiocmget(struct tty_struct *tty) + #endif { int ret = 0; *************** *** 415,419 **** --- 424,432 ---- static int + #ifdef FILE_IN_TTY_OPS_TIOCM mode_tiocmset(struct tty_struct *tty, struct file *file, unsigned int set, unsigned int clear) + #else + mode_tiocmset(struct tty_struct *tty, unsigned int set, unsigned int clear) + #endif { int ret = 0; Index: configure.ac =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/kernel/configure.ac,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** configure.ac 10 Jul 2011 11:30:16 -0000 1.12 --- configure.ac 7 Oct 2011 13:11:02 -0000 1.13 *************** *** 125,128 **** --- 125,143 ---- AC_MSG_RESULT(no)) + AC_MSG_CHECKING(for file in tty_operations->tiocm[gs]et) + AC_TRY_COMPILE( + #include <linux/tty.h> + #include <linux/tty_driver.h> + , + [ + int mode_tiocmget(struct tty_struct *, struct file *file); + struct tty_operations tty_ops = { + .tiocmget = mode_tiocmget, + }; + ], + AC_MSG_RESULT(yes) + AC_DEFINE([FILE_IN_TTY_OPS_TIOCM], [1], [Define if kernel < 2.6.40 ???]), + AC_MSG_RESULT(no)) + AC_MSG_CHECKING(for tty flip buffer) AC_TRY_COMPILE( |
From: Rick S. <rw...@us...> - 2011-07-10 11:30:19
|
Update of /cvsroot/xmblackberry/XmBlackBerry/kernel In directory vz-cvs-3.sog:/tmp/cvs-serv17620 Modified Files: config.h configure.ac init.c Log Message: Somewhere around 2.6.39, lock_kernel and unlock_kernel disappears. After some poking around in usb-skel, it appears that this locking is no longer necessary. So, if lock_kernel is not available, simply don't do it. I currently cannot check this, hopefully Kirk will. Pointed out to me by Kirk. Index: config.h =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/kernel/config.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** config.h 30 Aug 2010 22:09:42 -0000 1.6 --- config.h 10 Jul 2011 11:30:16 -0000 1.7 *************** *** 54,55 **** --- 54,59 ---- #define usb_alloc_coherent usb_buffer_alloc #endif + + #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39) + #define HAVE_LOCK_KERNEL 1 + #endif Index: init.c =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/kernel/init.c,v retrieving revision 1.61 retrieving revision 1.62 diff -C2 -d -r1.61 -r1.62 *** init.c 29 May 2011 10:10:21 -0000 1.61 --- init.c 10 Jul 2011 11:30:16 -0000 1.62 *************** *** 32,36 **** --- 32,38 ---- #include <linux/tty_flip.h> #include <linux/mm.h> + #ifdef HAVE_LOCK_KERNEL #include <linux/smp_lock.h> + #endif #include <asm/uaccess.h> *************** *** 2221,2228 **** --- 2223,2234 ---- } + #ifdef HAVE_LOCK_KERNEL lock_kernel(); + #endif blackberry_device = usb_get_intfdata(intf); usb_set_intfdata(blackberry_device->interface, NULL); + #ifdef HAVE_LOCK_KERNEL unlock_kernel(); + #endif blackberry_unregister_device(blackberry_device); Index: configure.ac =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/kernel/configure.ac,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** configure.ac 30 Aug 2010 22:15:52 -0000 1.11 --- configure.ac 10 Jul 2011 11:30:16 -0000 1.12 *************** *** 63,66 **** --- 63,77 ---- AC_MSG_RESULT(no)) + AC_MSG_CHECKING(for lock_kernel) + AC_TRY_COMPILE( + #include <linux/smp_lock.h> + , + [ + lock_kernel(); + ], + AC_MSG_RESULT(yes) + AC_DEFINE([HAVE_LOCK_KERNEL], [1], [Define if kernel < 2.6.39??]), + AC_MSG_RESULT(no)) + AC_MSG_CHECKING(for struct hash_desc) AC_TRY_COMPILE( |
From: Rick S. <rw...@al...> - 2011-07-09 11:19:46
|
On Fri, 2011-07-08 at 19:24 -0700, kirk w wrote: > Hi Rick, > > Just compiled 3.0.0-rc6 kernel. Had to change init.c. The big kernel > lock is gone as of 2.6.39 so I used a mutex to replace it. I've > attached the modified init.c and commented each line I changed with > "// BKL is gone." so you can see it. Guess I could have made a patch > :). I'm a lousy c programmer so there's probably a better way to do > this. But it seems to work. This scares me :) I don't think that mutex protects anything, it's only locked in one place. For it to do anything useful I think it would need to be locked in probe also. probe() used to be called with the BKL held, so the lock made sense. I think you might have just been lucky so far, unless the kernel is now ensuring that probe and disconnect cannot be called at the same time. This is going to take a bit of investigation ..... |
From: Rick S. <rw...@us...> - 2011-05-29 10:10:24
|
Update of /cvsroot/xmblackberry/XmBlackBerry/kernel In directory vz-cvs-3.sog:/tmp/cvs-serv9273 Modified Files: init.c modem.c Log Message: It seems init_MUTEX was removed in 2.6.37. changed to: sema_init(&modem->sem,1); Thanks Kirk Index: modem.c =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/kernel/modem.c,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** modem.c 30 Aug 2010 22:09:42 -0000 1.31 --- modem.c 29 May 2011 10:10:21 -0000 1.32 *************** *** 661,665 **** INIT_WORK(&modem->read_work, modem_read_work, NULL); #endif ! init_MUTEX(&modem->sem); modem->login_complete = 0; init_waitqueue_head(&modem->open_wait); --- 661,665 ---- INIT_WORK(&modem->read_work, modem_read_work, NULL); #endif ! sema_init(&modem->sem, 1); modem->login_complete = 0; init_waitqueue_head(&modem->open_wait); Index: init.c =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/kernel/init.c,v retrieving revision 1.60 retrieving revision 1.61 diff -C2 -d -r1.60 -r1.61 *** init.c 16 Oct 2010 12:45:09 -0000 1.60 --- init.c 29 May 2011 10:10:21 -0000 1.61 *************** *** 181,185 **** } ret = -ENODEV; ! err("%s(%d) - %08x %s not available", __FUNCTION__, __LINE__, blackberry_device ? blackberry_device->pin: (u_int32_t)-1, mode ? mode->mode : "NULL"); --- 181,185 ---- } ret = -ENODEV; ! err("%s(%d) - %08x \"%s\" not available", __FUNCTION__, __LINE__, blackberry_device ? blackberry_device->pin: (u_int32_t)-1, mode ? mode->mode : "NULL"); *************** *** 445,449 **** { init_waitqueue_head(&mode->open_wait); ! init_MUTEX(&mode->sem); mode->open_count = 0; mode->socket = -1; --- 445,449 ---- { init_waitqueue_head(&mode->open_wait); ! sema_init(&mode->sem, 1); mode->open_count = 0; mode->socket = -1; |
From: Rick S. <rw...@us...> - 2011-05-01 14:01:56
|
Update of /cvsroot/xmblackberry/XmBlackBerry/WebApps/gt_rank/html In directory vz-cvs-3.sog:/tmp/cvs-serv18293/html Modified Files: gt_rank Log Message: Try to make this a little more Trevor friendly. Add markers at division changes, and the last point. Index: gt_rank =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/WebApps/gt_rank/html/gt_rank,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** gt_rank 10 Dec 2010 11:17:53 -0000 1.2 --- gt_rank 1 May 2011 14:01:53 -0000 1.3 *************** *** 361,364 **** --- 361,372 ---- function setName(name) { + if (player.selector.options.length > 1) + { + player.selector.selectedIndex = 0; + player.removeChild(player.input); + player.appendChild(player.selector); + player.rank.disabled = true; + player.division.disabled = true; + } if (name) { *************** *** 370,378 **** { player.selector.selectedIndex = i; ! player.removeChild(player.input); player.appendChild(player.selector); player.rank.disabled = false; player.division.disabled = false; takeFocus(player.rank); } } --- 378,390 ---- { player.selector.selectedIndex = i; ! if (player.input.parentNode) ! { ! player.removeChild(player.input); ! } player.appendChild(player.selector); player.rank.disabled = false; player.division.disabled = false; takeFocus(player.rank); + setDivision(player.selector.options[player.selector.selectedIndex].items[0].Division); } } *************** *** 404,417 **** function makeChart(options) { ! var src = "http://chart.apis.google.com/chart?cht=lc&chtt=Golden+Tee+Rank&chdlp=b&chxt=y"; var i; var j; var chdl = new Array(); var chd = new Array(); var max; var min; var availWidth; var availHeight; var ppp = new Number(2000); //&chls=2,4,1 --- 416,434 ---- function makeChart(options) { ! var src = "https://chart.googleapis.com/chart?cht=lxy&chtt=Golden+Tee+Rank&chdlp=b&chxt=y"; var i; var j; var chdl = new Array(); var chd = new Array(); + var chm = new Array(); var max; var min; + var max_x; + var min_x; var availWidth; var availHeight; var ppp = new Number(2000); + var colors = new Array("FF0000", "0000FF"); + var first_time = new Number(0); //&chls=2,4,1 *************** *** 422,450 **** if (options[i].items) { ! var series = new Array(); chdl.push(options[i].items[0].Name); for (j = 0; j < options[i].items.length; j++) { ! series.push(options[i].items[j].Rank); } - series.reverse(); if (isNaN(min)) { ! min = series.min(); } else { ! min = Math.min(min, series.min()); } if (isNaN(max)) { ! max = series.max(); } else { ! max = Math.max(max, series.max()); } ! chd.push(series.join(",")); } } --- 439,504 ---- if (options[i].items) { ! var series_y = new Array(); ! var series_x = new Array(); chdl.push(options[i].items[0].Name); for (j = 0; j < options[i].items.length; j++) { ! if (first_time == 0) ! { ! first_time = options[i].items[j].Time; ! } ! series_y.push(options[i].items[j].Rank); ! series_x.push(parseInt((options[i].items[j].Time - first_time) / (60 * 60 * 24))); ! if (j > 0 && options[i].items[j].Division != options[i].items[j - 1].Division) ! { ! chm.push("t" + encodeURI(options[i].items[j].Division) + "," + colors[i - 1] + "," + (i - 1) + "," + (j - 1) + ".5,10,,hv"); ! } ! else ! { ! if (j == 0) ! { ! chm.push("t" + encodeURI(options[i].items[j].Division) + "," + colors[i - 1] + "," + (i - 1) + "," + j + ",10,,hv"); ! } ! } ! } ! if (j > 0) ! { ! chm.push("t" + encodeURI(options[i].items[j - 1].Rank) + "," + colors[i - 1] + "," + (i - 1) + "," + (j - 1) + ",15,,hv"); } if (isNaN(min)) { ! min = series_y.min(); } else { ! min = Math.min(min, series_y.min()); } if (isNaN(max)) { ! max = series_y.max(); } else { ! max = Math.max(max, series_y.max()); } ! if (isNaN(min_x)) ! { ! min_x = series_x.min(); ! } ! else ! { ! min_x = Math.min(min_x, series_x.min()); ! } ! if (isNaN(max_x)) ! { ! max_x = series_x.max(); ! } ! else ! { ! max_x = Math.max(max_x, series_x.max()); ! } ! chd.push(series_x.join(",")); ! chd.push(series_y.join(",")); } } *************** *** 464,470 **** src += "&chs=" + availWidth + "x" + availHeight + "&chdl=" + chdl.join("|") + ! "&chds=" + min + "," + max + "&chxl=0:|" + min + "|" + max + "&chco=FF0000,0000FF"; //windowDebug.innerHTML = src.length; --- 518,528 ---- src += "&chs=" + availWidth + "x" + availHeight + "&chdl=" + chdl.join("|") + ! "&chds=" + min_x + "," + max_x + "," + min + "," + max + "," + min_x + "," + max_x + "," + min + "," + max + "&chxl=0:|" + min + "|" + max + "&chco=FF0000,0000FF"; + if (chm.length > 0) + { + src += "&chm=" + chm.join("|"); + } //windowDebug.innerHTML = src.length; *************** *** 482,486 **** player.chart.src = src; ! //alert(player.chart.src.length); //DisplayObject(window); } --- 540,547 ---- player.chart.src = src; ! if (src > 2000) ! { ! alert(src); ! } //DisplayObject(window); } *************** *** 536,539 **** --- 597,611 ---- new_item.Date = col[j].firstChild.data; } + else if (attr_name == "time") + { + new_item.Time = col[j].firstChild.data; + } + } + } + for (i = 0; i < player.selector.options.length; i++) + { + if (player.selector.options[i].items) + { + player.selector.options[i].items.reverse(); } } *************** *** 543,546 **** --- 615,635 ---- } + function playerClick(evt) + { + if (evt.currentTarget.selectedIndex == 0 && + evt.currentTarget.options.length <= 1) + { + var playerInput = evt.currentTarget.parentNode; + + //DisplayObject(evt); + playerInput.removeChild(evt.currentTarget); + playerInput.input.value = ""; + playerInput.appendChild(playerInput.input); + playerInput.rank.disabled = true; + playerInput.division.disabled = true; + takeFocus(playerInput.input); + } + } + function load() { *************** *** 556,559 **** --- 645,649 ---- player.selector.style.width = "100%"; player.selector.onchange = playerChange; + player.selector.onclick = playerClick; player.selector.add(document.createElement("option"), null); player.selector.lastIndex = 0; *************** *** 577,580 **** --- 667,674 ---- <td id="Player"> <input type="text" size="5" style="width: 100%" onkeypress="newPlayer(event)" /> + <!-- + <select style="width: 100%"> + </select> + --> </td> <td> |
From: Rick S. <rw...@us...> - 2011-04-10 11:31:52
|
Update of /cvsroot/xmblackberry/XmBlackBerry/WebApps/golf/html In directory vz-cvs-3.sog:/tmp/cvs-serv32325/html Modified Files: golf Log Message: Only do the cursor distance calculations after a timeout, less jerky on the blackberry. Only show the pan and zoom controls if the automatic map updates are disabled. Index: golf =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/WebApps/golf/html/golf,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** golf 9 Apr 2011 11:56:09 -0000 1.30 --- golf 10 Apr 2011 11:31:50 -0000 1.31 *************** *** 342,345 **** --- 342,347 ---- this.currentPar = document.getElementById("CurrentPar"); this.currentDistance = document.getElementById("CurrentDistance"); + this.displayCursorTimer = null; + this.lastCursorEvent = null; this.teeLat = document.getElementById("TeeLat"); this.teeLon = document.getElementById("TeeLon"); *************** *** 744,748 **** mapOptions.center = myLocation; mapOptions.mapTypeId = google.maps.MapTypeId.SATELLITE; ! //mapOptions.navigationControlOptions = {style: google.maps.NavigationControlStyle.DEFAULT}; if (window.blackberry) { --- 746,750 ---- mapOptions.center = myLocation; mapOptions.mapTypeId = google.maps.MapTypeId.SATELLITE; ! mapOptions.streetViewControl = false; if (window.blackberry) { *************** *** 752,758 **** mapOptions.keyboardShortcuts = false; mapOptions.mapTypeControl = false; ! mapOptions.panControl = true; ! //mapOptions.navigationControl = false; ! mapOptions.zoomControl = true; mapOptions.scrollwheel = false; mapOptions.zoom = 16; --- 754,767 ---- mapOptions.keyboardShortcuts = false; mapOptions.mapTypeControl = false; ! if (this.mapDisable.checked) ! { ! mapOptions.panControl = true; ! mapOptions.zoomControl = true; ! } ! else ! { ! mapOptions.panControl = false; ! mapOptions.zoomControl = false; ! } mapOptions.scrollwheel = false; mapOptions.zoom = 16; *************** *** 773,776 **** --- 782,795 ---- this.mapCanvas.parentNode.width = window.innerWidth - (2 * this.mapCanvas.clientX); this.mapCanvas.parentNode.height = window.innerHeight - this.mapCanvas.clientY - this.mapCanvas.parentNode.offsetParent.offsetHeight; + if (this.mapDisable.checked) + { + mapOptions.panControl = true; + mapOptions.zoomControl = true; + } + else + { + mapOptions.panControl = false; + mapOptions.zoomControl = false; + } //filler.parentNode.height = 320; //this.mapCanvas.parentNode.width = 426; *************** *** 1094,1099 **** --- 1113,1133 ---- if (! game.mapDisable.checked) { + game.lastCursorEvent = evt; + if (game.displayCursorTimer) + { + clearTimeout(game.displayCursorTimer); + } + game.displayCursorTimer = setTimeout(cursorDistanceCallback, 100); + } + } + + function cursorDistanceCallback() + { + if (! game.mapDisable.checked && game.lastCursorEvent) + { var hole; + var evt = game.lastCursorEvent; + game.lastCursorEvent = null; hole = game.getCurrentHole(); if (game.courseList.holes && game.courseList.holes[hole]) *************** *** 2662,2665 **** --- 2696,2716 ---- } + function updateMapDisable(toggle) + { + var options = new Object(); + + if (toggle.checked) + { + options.panControl = true; + options.zoomControl = true; + } + else + { + options.panControl = false; + options.zoomControl = false; + } + game.map.setOptions(options); + } + function load() { *************** *** 2942,2946 **** <tr align="left"> <td style="white-space: nowrap"> ! <input id="mapDisable" checked="checked" type="checkbox" /><label for="mapDisable">Disable map updates</label> </td> <td style="white-space: nowrap"> --- 2993,2997 ---- <tr align="left"> <td style="white-space: nowrap"> ! <input id="mapDisable" checked="checked" type="checkbox" onclick="updateMapDisable(this)" /><label for="mapDisable">Disable map updates</label> </td> <td style="white-space: nowrap"> |
From: Rick S. <rw...@us...> - 2011-04-09 11:56:12
|
Update of /cvsroot/xmblackberry/XmBlackBerry/WebApps/golf/html In directory vz-cvs-3.sog:/tmp/cvs-serv24162/html Modified Files: golf Log Message: My BlackBerry now supports the "number" field. Get rid of all of the numericOnly calls. Index: golf =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/WebApps/golf/html/golf,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** golf 9 Apr 2011 11:12:22 -0000 1.29 --- golf 9 Apr 2011 11:56:09 -0000 1.30 *************** *** 8,12 **** --> <!-- ! golf, Copyright (C) 2006 Rick Scott <rw...@us...> This program is free software; you can redistribute it and/or modify --- 8,12 ---- --> <!-- ! golf, Copyright (C) 2006-2011 Rick Scott <rw...@us...> This program is free software; you can redistribute it and/or modify *************** *** 36,40 **** </style> <title>Golf</title> ! <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, user-scalable=no" /> <meta name="HandheldFriendly" content="true" /> --- 36,40 ---- </style> <title>Golf</title> ! <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, user-scalable=yes" /> <meta name="HandheldFriendly" content="true" /> *************** *** 744,748 **** mapOptions.center = myLocation; mapOptions.mapTypeId = google.maps.MapTypeId.SATELLITE; ! mapOptions.navigationControlOptions = {style: google.maps.NavigationControlStyle.DEFAULT}; if (window.blackberry) { --- 744,748 ---- mapOptions.center = myLocation; mapOptions.mapTypeId = google.maps.MapTypeId.SATELLITE; ! //mapOptions.navigationControlOptions = {style: google.maps.NavigationControlStyle.DEFAULT}; if (window.blackberry) { *************** *** 752,757 **** mapOptions.keyboardShortcuts = false; mapOptions.mapTypeControl = false; ! mapOptions.navigationControl = false; ! mapOptions.scaleControl = false; mapOptions.scrollwheel = false; mapOptions.zoom = 16; --- 752,758 ---- mapOptions.keyboardShortcuts = false; mapOptions.mapTypeControl = false; ! mapOptions.panControl = true; ! //mapOptions.navigationControl = false; ! mapOptions.zoomControl = true; mapOptions.scrollwheel = false; mapOptions.zoom = 16; *************** *** 1152,1156 **** field.defaultValue = value; ! field.type = "text"; field.value = value; field.defaultValue = defaultValue; --- 1153,1157 ---- field.defaultValue = value; ! field.type = "number"; field.value = value; field.defaultValue = defaultValue; *************** *** 1183,1187 **** function uneditOrder(field) { ! if (field.type == "text") { var order = parseInt(field.value); --- 1184,1188 ---- function uneditOrder(field) { ! if (field.type != "button") { var order = parseInt(field.value); *************** *** 2293,2331 **** } - function numericOnly(text, event) - { - if (event) - { - if (String.fromCharCode(event.keyCode) == "O" || - String.fromCharCode(event.keyCode) == "+" || - String.fromCharCode(event.keyCode) == "=") - { - var value = text.value; - - value = value.slice(0, value.length - 1); - if (isNaN(parseInt(value))) - { - value = "0"; - } - text.value = parseInt(value) + 1; - } - } - text.value = text.value.replace(/[Ww]/g, "1"); - text.value = text.value.replace(/[Ee]/g, "2"); - text.value = text.value.replace(/[Rr]/g, "3"); - text.value = text.value.replace(/[Ss]/g, "4"); - text.value = text.value.replace(/[Dd]/g, "5"); - text.value = text.value.replace(/[Ff]/g, "6"); - text.value = text.value.replace(/[Zz]/g, "7"); - text.value = text.value.replace(/[Xx]/g, "8"); - text.value = text.value.replace(/[Cc]/g, "9"); - text.value = text.value.replace(/[Mm]/g, "."); - text.value = text.value.replace(/[Ii]/g, "-"); - text.value = text.value.replace(/[^0-9.-]/g, ""); - } - function changeDistance(field) { ! if (game.courseList.holes && field.type == "text") { var hole = new Number(); --- 2294,2300 ---- } function changeDistance(field) { ! if (game.courseList.holes && field.type != "button") { var hole = new Number(); *************** *** 2372,2376 **** function changePar(field) { ! if (game.courseList.holes && field.type == "text") { var hole = new Number(); --- 2341,2345 ---- function changePar(field) { ! if (game.courseList.holes && field.type != "button") { var hole = new Number(); *************** *** 2720,2724 **** document.getElementById('ToggleGPS').disabled = true; } ! mapsAPI.src = "https://maps-api-ssl.google.com/maps/api/js?v=3.3&sensor=" + sensor + "&callback=game.initMap"; mapsAPI.type = "text/javascript"; --- 2689,2693 ---- document.getElementById('ToggleGPS').disabled = true; } ! mapsAPI.src = "https://maps-api-ssl.google.com/maps/api/js?v=3&sensor=" + sensor + "&callback=game.initMap"; mapsAPI.type = "text/javascript"; *************** *** 2765,2769 **** </td> <td> ! <input id="CurrentPar" type="text" value="" size="1" maxlength="1" style="width: 100%" onkeyup="numericOnly(this); advancePar(this)" onblur="changePar(this)" onclick="editField(this);" /> </td> <td> --- 2734,2738 ---- </td> <td> ! <input id="CurrentPar" type="number" value="" size="1" maxlength="1" style="width: 100%" onkeyup="advancePar(this)" onblur="changePar(this)" onclick="editField(this);" /> </td> <td> *************** *** 2771,2775 **** </td> <td> ! <input id="CurrentDistance" type="text" value="" size="4" maxlength="4" style="width: 100%" onkeyup="numericOnly(this)" onblur="changeDistance(this)" onclick="editField(this);" /> </td> </tr> --- 2740,2744 ---- </td> <td> ! <input id="CurrentDistance" type="number" value="" size="4" maxlength="4" style="width: 100%" onblur="changeDistance(this)" onclick="editField(this);" /> </td> </tr> *************** *** 2795,2802 **** </td> <td> ! <input id="TeeLat" type="button" value="N/A" onkeyup="numericOnly(this)" onclick="editPosition(this)" onblur="uneditPosition(this)" style="width: 100%" /> </td> <td> ! <input id="TeeLon" type="button" value="N/A" onkeyup="numericOnly(this)" onclick="editPosition(this)" onblur="uneditPosition(this)" style="width: 100%" /> </td> </tr> --- 2764,2771 ---- </td> <td> ! <input id="TeeLat" type="button" value="N/A" onclick="editPosition(this)" onblur="uneditPosition(this)" style="width: 100%" /> </td> <td> ! <input id="TeeLon" type="button" value="N/A" onclick="editPosition(this)" onblur="uneditPosition(this)" style="width: 100%" /> </td> </tr> *************** *** 2806,2813 **** </td> <td> ! <input id="GreenLat" type="button" value="N/A" onkeyup="numericOnly(this)" onclick="editPosition(this)" onblur="uneditPosition(this)" style="width: 100%" /> </td> <td> ! <input id="GreenLon" type="button" value="N/A" onkeyup="numericOnly(this)" onclick="editPosition(this)" onblur="uneditPosition(this)" style="width: 100%" /> </td> </tr> --- 2775,2782 ---- </td> <td> ! <input id="GreenLat" type="button" value="N/A" onclick="editPosition(this)" onblur="uneditPosition(this)" style="width: 100%" /> </td> <td> ! <input id="GreenLon" type="button" value="N/A" onclick="editPosition(this)" onblur="uneditPosition(this)" style="width: 100%" /> </td> </tr> *************** *** 2880,2887 **** <td align="center"></td> <td> ! <input style="width: 100%" type="button" maxlength="1" size="1" onclick="editOrder(this)" onblur="uneditOrder(this)" onkeyup="numericOnly(this, event)" /> </td> <td> ! <input style="width: 100%" type="button" maxlength="2" size="3" onclick="editField(this);" onblur="setScore(this); uneditField(this)" onkeyup="numericOnly(this, event); advance(this, event)" /> </td> <td align="center"></td> --- 2849,2856 ---- <td align="center"></td> <td> ! <input style="width: 100%" type="button" maxlength="1" size="1" onclick="editOrder(this)" onblur="uneditOrder(this)" /> </td> <td> ! <input style="width: 100%" type="button" maxlength="2" size="3" onclick="editField(this);" onblur="setScore(this); uneditField(this)" onkeyup="advance(this, event)" /> </td> <td align="center"></td> *************** *** 2898,2905 **** <td align="center"></td> <td> ! <input style="width: 100%" type="button" maxlength="1" size="1" onclick="editOrder(this)" onblur="uneditOrder(this)" onkeyup="numericOnly(this, event)" /> </td> <td> ! <input style="width: 100%" type="button" maxlength="2" size="3" onclick="editField(this);" onblur="setScore(this); uneditField(this)" onkeyup="numericOnly(this, event); advance(this, event)" /> </td> <td align="center"></td> --- 2867,2874 ---- <td align="center"></td> <td> ! <input style="width: 100%" type="button" maxlength="1" size="1" onclick="editOrder(this)" onblur="uneditOrder(this)" /> </td> <td> ! <input style="width: 100%" type="button" maxlength="2" size="3" onclick="editField(this);" onblur="setScore(this); uneditField(this)" onkeyup="advance(this, event)" /> </td> <td align="center"></td> *************** *** 2916,2923 **** <td align="center"></td> <td> ! <input style="width: 100%" type="button" maxlength="1" size="1" onclick="editOrder(this)" onblur="uneditOrder(this)" onkeyup="numericOnly(this, event)" /> </td> <td> ! <input style="width: 100%" type="button" maxlength="2" size="3" onclick="editField(this);" onblur="setScore(this); uneditField(this)" onkeyup="numericOnly(this, event); advance(this, event)" /> </td> <td align="center"></td> --- 2885,2892 ---- <td align="center"></td> <td> ! <input style="width: 100%" type="button" maxlength="1" size="1" onclick="editOrder(this)" onblur="uneditOrder(this)" /> </td> <td> ! <input style="width: 100%" type="button" maxlength="2" size="3" onclick="editField(this);" onblur="setScore(this); uneditField(this)" onkeyup="advance(this, event)" /> </td> <td align="center"></td> *************** *** 2934,2941 **** <td align="center"></td> <td> ! <input style="width: 100%" type="button" maxlength="1" size="1" onclick="editOrder(this)" onblur="uneditOrder(this)" onkeyup="numericOnly(this, event)" /> </td> <td> ! <input style="width: 100%" type="button" maxlength="2" size="3" onclick="editField(this);" onblur="setScore(this); uneditField(this)" onkeyup="numericOnly(this, event); advance(this, event)" /> </td> <td align="center"></td> --- 2903,2910 ---- <td align="center"></td> <td> ! <input style="width: 100%" type="button" maxlength="1" size="1" onclick="editOrder(this)" onblur="uneditOrder(this)" /> </td> <td> ! <input style="width: 100%" type="button" maxlength="2" size="3" onclick="editField(this);" onblur="setScore(this); uneditField(this)" onkeyup="advance(this, event)" /> </td> <td align="center"></td> |
From: Rick S. <rw...@us...> - 2011-04-09 11:12:25
|
Update of /cvsroot/xmblackberry/XmBlackBerry/WebApps/golf/html In directory vz-cvs-3.sog:/tmp/cvs-serv18287/html Modified Files: golf Log Message: Almost that time of year again .... Get this working again with my new BlackBerry and the new map features. Index: golf =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/WebApps/golf/html/golf,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** golf 11 Sep 2010 12:45:13 -0000 1.28 --- golf 9 Apr 2011 11:12:22 -0000 1.29 *************** *** 227,238 **** var x; ! for (x in window.blackberry.location.positions) { ! if (window.blackberry.location.positions[x] == this) { ! window.blackberry.location.positions.splice(x, 1); } } ! window.blackberry.location.positions.push(this); windowStatus.innerHTML = "Averaging " + this.positions.length + "/" + this.num_avgs; } --- 227,238 ---- var x; ! for (x in game.positions) { ! if (game.positions[x] == this) { ! game.positions.splice(x, 1); } } ! game.positions.push(this); windowStatus.innerHTML = "Averaging " + this.positions.length + "/" + this.num_avgs; } *************** *** 278,286 **** } this.positions.length = 0; ! for (x in window.blackberry.location.positions) { ! if (window.blackberry.location.positions[x] == this) { ! window.blackberry.location.positions.splice(x, 1); } } --- 278,286 ---- } this.positions.length = 0; ! for (x in game.positions) { ! if (game.positions[x] == this) { ! game.positions.splice(x, 1); } } *************** *** 333,336 **** --- 333,339 ---- var player_field; + this.aidMode = 0; + this.positions = new Array(); + this.locationDisabled = false; this.date = document.getElementById("GameDate"); this.courseList = document.getElementById("CourseName"); *************** *** 789,801 **** markOptions.icon = MarkImage("", "Me", "0099FF", 0, 42, "bb"); this.myMark = new google.maps.Marker(markOptions);; ! if (!window.blackberry) { ! google.maps.event.addListener(this.map, 'mousemove', cursorDistance); ! google.maps.event.addListener(this.map, 'rightclick', addMark); ! google.maps.event.addListener(this.myMark, 'dragend', getMyElevation); } else { ! this.mapCanvas.onmousemove = "bbCursorDistance(event)"; } google.maps.event.addListener(this.myMark, 'position_changed', myDistance); --- 792,804 ---- markOptions.icon = MarkImage("", "Me", "0099FF", 0, 42, "bb"); this.myMark = new google.maps.Marker(markOptions);; ! if (window.blackberry && navigator.appVersion.charAt(0) < 5) { ! this.mapCanvas.onmousemove = "bbCursorDistance(event)"; } else { ! google.maps.event.addListener(this.map, 'mousemove', cursorDistance); ! google.maps.event.addListener(this.map, 'rightclick', addMark); ! google.maps.event.addListener(this.myMark, 'dragend', getMyElevation); } google.maps.event.addListener(this.myMark, 'position_changed', myDistance); *************** *** 1140,1144 **** var now = new Date(blackberry.location.timestamp); ! document.title = "Golf " + now.toLocaleTimeString().split(" ")[0] + " " + blackberry.location.aidMode + " " + blackberry.location.interval; } --- 1143,1147 ---- var now = new Date(blackberry.location.timestamp); ! document.title = "Golf " + now.toLocaleTimeString().split(" ")[0] + " " + game.aidMode + " " + game.interval; } *************** *** 1803,1820 **** var toggle = document.getElementById('ToggleGPS'); ! if (window.blackberry.location.aidMode == 0) { toggle.value = "Stop GPS"; window.blackberry.location.refreshLocation(); ! window.blackberry.location.disabled = false; } else { ! window.blackberry.location.aidMode = 0; ! window.blackberry.location.setAidMode(window.blackberry.location.aidMode); toggle.value = "Start GPS"; game.distanceToGreen.innerHTML = "N/A"; game.distanceFromTee.innerHTML = "N/A"; ! window.blackberry.location.disabled = true; document.title = "Golf"; } --- 1806,1823 ---- var toggle = document.getElementById('ToggleGPS'); ! if (game.aidMode == 0) { toggle.value = "Stop GPS"; window.blackberry.location.refreshLocation(); ! game.locationDisabled = false; } else { ! game.aidMode = 0; ! window.blackberry.location.setAidMode(game.aidMode); toggle.value = "Start GPS"; game.distanceToGreen.innerHTML = "N/A"; game.distanceFromTee.innerHTML = "N/A"; ! game.locationDisabled = true; document.title = "Golf"; } *************** *** 2464,2468 **** window.blackberry.location && window.blackberry.location.GPSSupported && ! !window.blackberry.location.disabled) { if (lat.type == "button" && lon.type == "button") --- 2467,2471 ---- window.blackberry.location && window.blackberry.location.GPSSupported && ! !game.locationDisabled) { if (lat.type == "button" && lon.type == "button") *************** *** 2540,2548 **** var d; ! if (!lat2 && window.blackberry && !window.blackberry.location.disabled) { lat2 = window.blackberry.location.latitude; } ! if (!lon2 && window.blackberry && !window.blackberry.location.disabled) { lon2 = window.blackberry.location.longitude; --- 2543,2551 ---- var d; ! if (!lat2 && window.blackberry && !game.locationDisabled) { lat2 = window.blackberry.location.latitude; } ! if (!lon2 && window.blackberry && !game.locationDisabled) { lon2 = window.blackberry.location.longitude; *************** *** 2624,2645 **** try { ! if (!window.blackberry.location.disabled) { try { ! window.blackberry.location.aidMode++; ! if (window.blackberry.location.aidMode <= 2) { ! window.blackberry.location.setAidMode(window.blackberry.location.aidMode); window.blackberry.location.refreshLocation(); } ! window.blackberry.location.interval = window.blackberry.location.timestamp - window.blackberry.location.lastTimestamp; ! window.blackberry.location.lastTimestamp = window.blackberry.location.timestamp; ! if (window.blackberry.location.positions.length > 0) { var positions = new Array(); var x; ! positions = window.blackberry.location.positions; for (x in positions); { --- 2627,2648 ---- try { ! if (!game.locationDisabled) { try { ! game.aidMode++; ! if (game.aidMode <= 2) { ! window.blackberry.location.setAidMode(game.aidMode); window.blackberry.location.refreshLocation(); } ! game.interval = window.blackberry.location.timestamp - game.lastTimestamp; ! game.lastTimestamp = window.blackberry.location.timestamp; ! if (game.positions.length > 0) { var positions = new Array(); var x; ! positions = game.positions; for (x in positions); { *************** *** 2699,2709 **** document.body.style.width = window.screen.availWidth + "px"; document.body.style.height = window.screen.availHeight + "px"; - window.blackberry.location.positions = new Array(); - window.blackberry.location.disabled = false; window.blackberry.location.onLocationUpdate(updateLocationCallback); ! window.blackberry.location.lastTimestamp = window.blackberry.location.timestamp; ! window.blackberry.location.interval = window.blackberry.location.timestamp - window.blackberry.location.lastTimestamp; ! window.blackberry.location.aidMode = 0; ! window.blackberry.location.setAidMode(window.blackberry.location.aidMode); window.blackberry.location.refreshLocation(); sensor = true; --- 2702,2716 ---- document.body.style.width = window.screen.availWidth + "px"; document.body.style.height = window.screen.availHeight + "px"; window.blackberry.location.onLocationUpdate(updateLocationCallback); ! game.lastTimestamp = window.blackberry.location.timestamp; ! game.interval = window.blackberry.location.timestamp - game.lastTimestamp; ! try ! { ! window.blackberry.location.setAidMode(game.aidMode); ! } ! catch(err) ! { ! DisplayObject(err); ! } window.blackberry.location.refreshLocation(); sensor = true; *************** *** 2713,2717 **** document.getElementById('ToggleGPS').disabled = true; } ! mapsAPI.src = "http://maps.google.com/maps/api/js?sensor=" + sensor + "&callback=game.initMap"; mapsAPI.type = "text/javascript"; --- 2720,2724 ---- document.getElementById('ToggleGPS').disabled = true; } ! mapsAPI.src = "https://maps-api-ssl.google.com/maps/api/js?v=3.3&sensor=" + sensor + "&callback=game.initMap"; mapsAPI.type = "text/javascript"; *************** *** 3006,3010 **** <tr> <td> ! <div id="mapCanvas" style="width: 100%; height: 100%"></div> </td> </tr> --- 3013,3017 ---- <tr> <td> ! <div id="mapCanvas" style="z-index: 0; width: 100%; height: 100%"></div> </td> </tr> |
From: Rick S. <rw...@us...> - 2010-12-10 11:18:01
|
Update of /cvsroot/xmblackberry/XmBlackBerry/WebApps/gt_rank/cgi-sbin In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv24151/cgi-sbin Modified Files: gt_rank Log Message: Add a graph of the rankings. Index: gt_rank =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/WebApps/gt_rank/cgi-sbin/gt_rank,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** gt_rank 5 Dec 2010 13:21:35 -0000 1.1 --- gt_rank 10 Dec 2010 11:17:52 -0000 1.2 *************** *** 3,7 **** use English; use CGI; ! #use CGI::Pretty; $CGI::POST_MAX = 0; $CGI::DISABLE_UPLOADS = 1; --- 3,7 ---- use English; use CGI; ! use CGI::Pretty; $CGI::POST_MAX = 0; $CGI::DISABLE_UPLOADS = 1; *************** *** 14,19 **** my($query) = @_; - my(@rows); - foreach (sort(keys(%ENV))) { --- 14,17 ---- *************** *** 22,26 **** print $query->table({-border => 1, -id => "Environment"}, ! $query->Tr($query->th({-colspan => 0}, "Environment Variables")), $query->Tr($query->th(["Variable", "Value"])), @rows --- 20,24 ---- print $query->table({-border => 1, -id => "Environment"}, ! $query->Tr($query->th({-colspan => 2}, "Environment Variables")), $query->Tr($query->th(["Variable", "Value"])), @rows *************** *** 64,75 **** while (@cols = $sth->fetchrow_array) { ! my(@fields); ! my($i); for ($i = 0; $i <= $#cols; $i++) { ! push(@fields, $query->td({-name => "$sth->{'NAME'}->[$i]"}, $cols[$i])); } ! push(@rows, $query->Tr({-align => "center"}, @fields)); } } --- 62,79 ---- while (@cols = $sth->fetchrow_array) { ! my(@fields, $i); for ($i = 0; $i <= $#cols; $i++) { ! my($type_info); ! ! $type_info = $dbh->type_info($sth->{'TYPE'}->[$i]); ! push(@fields, $query->td({-name => "$sth->{'NAME'}->[$i]", ! -typename => "$type_info->{'TYPE_NAME'}", ! -precision => "$sth->{'PRECISION'}->[$i]"}, ! $cols[$i])); } ! push(@rows, $query->Tr({-align => "center"}, ! @fields)); } } *************** *** 85,89 **** } print $query->table({-border => 1, ! -id => $query->param('Action')}, $query->Tr($query->th({-colspan => "0"}, $query->param('Action'))), @rows --- 89,94 ---- } print $query->table({-border => 1, ! -id => $query->param('Action'), ! -statement => "$sth->{'Statement'}"}, $query->Tr($query->th({-colspan => "0"}, $query->param('Action'))), @rows *************** *** 95,99 **** my($query, $dbh) = @_; ! list($query, $dbh, qq{SELECT * from `$table` ORDER BY `date` DESC}); } --- 100,106 ---- my($query, $dbh) = @_; ! list($query, $dbh, qq{SELECT `name`, `rank`, `division`, `date`, UNIX_TIMESTAMP(`date`) AS `time` from `$table` ! WHERE `date` > DATE("2010-12-05") ! ORDER BY `date` DESC}); } |
From: Rick S. <rw...@us...> - 2010-12-10 11:18:01
|
Update of /cvsroot/xmblackberry/XmBlackBerry/WebApps/gt_rank/html In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv24151/html Modified Files: gt_rank Log Message: Add a graph of the rankings. Index: gt_rank =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/WebApps/gt_rank/html/gt_rank,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** gt_rank 5 Dec 2010 13:21:35 -0000 1.1 --- gt_rank 10 Dec 2010 11:17:53 -0000 1.2 *************** *** 61,64 **** --- 61,100 ---- } + Array.prototype.max = function() { + var max = this[0]; + + if (this.length > 0) + { + max = this[0]; + for (var i = 1; i < this.length; i++) if (this[i] > max) max = this[i]; + } + return max; + } + Array.prototype.min = function() { + var min = this[0]; + + if (this.length > 0) + { + min = this[0]; + for (var i = 1; i < this.length; i++) if (this[i] < min) min = this[i]; + } + return min; + } + + function takeFocusCallback() + { + if (window.next_focus) + { + window.next_focus.focus(); + window.next_focus = null; + } + } + + function takeFocus(field) + { + window.next_focus = field; + window.setTimeout("takeFocusCallback()", 500); + } + function numericOnly(text, event) { *************** *** 112,116 **** msg.push(this.statusText); windowStatus.innerHTML = msg.join(" "); ! if (this.responseText) { if (this.complete_callback) --- 148,152 ---- msg.push(this.statusText); windowStatus.innerHTML = msg.join(" "); ! if (this.responseXML) { if (this.complete_callback) *************** *** 159,162 **** --- 195,228 ---- } + function setDivision(division) + { + var i; + + for (i = 0; i < player.division.length; i++) + { + if (division == player.division.options[i].text) + { + player.division.selectedIndex = i; + break; + } + } + } + + function addItem(row, item) + { + var col = row.insertCell(row.cells.length); + + row.align = "center"; + col.align = "left"; + col.innerHTML = item.Name; + col = row.insertCell(row.cells.length); + col.innerHTML = item.Rank; + col = row.insertCell(row.cells.length); + col.innerHTML = item.Division; + col = row.insertCell(row.cells.length); + col.align = "right"; + col.innerHTML = item.Date; + } + function displayItems(items) { *************** *** 169,172 **** --- 235,242 ---- var new_row = player.parentNode.parentNode.insertRow(player.parentNode.parentNode.rows.length); + if (i == 0) + { + setDivision(items[i].Division); + } addItem(new_row, items[i]); } *************** *** 174,177 **** --- 244,280 ---- } + function findName(name) + { + var i; + var option = null; + + for (i = 0; i < player.selector.length; i++) + { + if (player.selector.options[i].text == name) + { + option = player.selector.options[i]; + break; + } + } + if (option == null) + { + player.selector.add(document.createElement("option"), null); + player.selector.options[player.selector.length - 1].text = name; + player.selector.options[player.selector.length - 1].items = new Array(); + option = player.selector.options[player.selector.length - 1]; + } + return(option); + } + + function trimTable(table) + { + var i; + + for (i = table.rows.length - 1; i > player.chart.parentNode.parentNode.rowIndex; i--) + { + table.deleteRow(i); + } + } + function newPlayer(evt) { *************** *** 195,208 **** if (playerInput.selector.length > 1) { if (playerInput.selector.selectedIndex == 0) { playerInput.selector.selectedIndex = 1; } playerInput.removeChild(evt.currentTarget); playerInput.appendChild(playerInput.selector); playerInput.rank.disabled = false; playerInput.division.disabled = false; ! displayItems(playerInput.selector.options[playerInput.selector.selectedIndex].items); ! playerInput.rank.focus(); } } --- 298,316 ---- if (playerInput.selector.length > 1) { + var exdate = new Date(); + if (playerInput.selector.selectedIndex == 0) { playerInput.selector.selectedIndex = 1; } + displayItems(playerInput.selector.options[playerInput.selector.selectedIndex].items); playerInput.removeChild(evt.currentTarget); playerInput.appendChild(playerInput.selector); playerInput.rank.disabled = false; playerInput.division.disabled = false; ! exdate.setDate(exdate.getDate() + 30); ! document.cookie="DisplayName=" + escape(playerInput.selector.options[playerInput.selector.selectedIndex].text) + ! ";expires=" + exdate.toUTCString(); ! takeFocus(playerInput.rank); } } *************** *** 220,229 **** playerInput.rank.disabled = true; playerInput.division.disabled = true; ! playerInput.input.focus(); } else { playerInput.selector.lastIndex = playerInput.selector.selectedIndex; ! playerInput.rank.focus(); } playerInput.save.disabled = true; --- 328,343 ---- playerInput.rank.disabled = true; playerInput.division.disabled = true; ! takeFocus(playerInput.input); } else { + var exdate = new Date(); + + //alert(playerInput.selector.options[playerInput.selector.selectedIndex].text); + exdate.setDate(exdate.getDate() + 30); + document.cookie="DisplayName=" + escape(playerInput.selector.options[playerInput.selector.selectedIndex].text) + + ";expires=" + exdate.toUTCString(); playerInput.selector.lastIndex = playerInput.selector.selectedIndex; ! takeFocus(playerInput.rank); } playerInput.save.disabled = true; *************** *** 245,292 **** } ! function findName(name) { ! var i; ! var option = null; ! for (i = 0; i < player.selector.length; i++) ! { ! if (player.selector.options[i].text == name) { ! option = player.selector.options[i]; ! break; } ! } ! if (option == null) ! { ! player.selector.add(document.createElement("option"), null); ! player.selector.options[player.selector.length - 1].text = name; ! player.selector.options[player.selector.length - 1].items = new Array(); ! option = player.selector.options[player.selector.length - 1]; ! } ! return(option); } ! function trimTable(table) { ! var i; ! for (i = table.rows.length - 1; i > 1; i--) { ! table.deleteRow(i); } } ! function addItem(row, item) { ! var col = row.insertCell(row.cells.length); ! col.innerHTML = item.Name; ! col = row.insertCell(row.cells.length); ! col.innerHTML = item.Rank; ! col = row.insertCell(row.cells.length); ! col.innerHTML = item.Division; ! col = row.insertCell(row.cells.length); ! col.innerHTML = item.Date; } --- 359,487 ---- } ! function setName(name) { ! if (name) ! { ! var i; ! for (i = 0; i < player.selector.length; i++) { ! if (player.selector.options[i].text == name) ! { ! player.selector.selectedIndex = i; ! player.removeChild(player.input); ! player.appendChild(player.selector); ! player.rank.disabled = false; ! player.division.disabled = false; ! takeFocus(player.rank); ! } } ! } } ! function getCookie(c_name) { ! var ret; ! if (document.cookie.length > 0) { ! var c_start; ! ! c_start = document.cookie.indexOf(c_name + "="); ! if (c_start != -1) ! { ! var c_end; ! ! c_start = c_start + c_name.length + 1; ! c_end=document.cookie.indexOf(";" , c_start); ! if (c_end == -1) c_end = document.cookie.length; ! ret = unescape(document.cookie.substring(c_start, c_end)); ! } } + return ret; } ! function makeChart(options) { ! var src = "http://chart.apis.google.com/chart?cht=lc&chtt=Golden+Tee+Rank&chdlp=b&chxt=y"; ! var i; ! var j; ! var chdl = new Array(); ! var chd = new Array(); ! var max; ! var min; ! var availWidth; ! var availHeight; ! var ppp = new Number(2000); ! //&chls=2,4,1 ! //&chma=5,5,5,25 ! ! for (i = 0; i < options.length; i++) ! { ! if (options[i].items) ! { ! var series = new Array(); ! ! chdl.push(options[i].items[0].Name); ! for (j = 0; j < options[i].items.length; j++) ! { ! series.push(options[i].items[j].Rank); ! } ! series.reverse(); ! if (isNaN(min)) ! { ! min = series.min(); ! } ! else ! { ! min = Math.min(min, series.min()); ! } ! if (isNaN(max)) ! { ! max = series.max(); ! } ! else ! { ! max = Math.max(max, series.max()); ! } ! chd.push(series.join(",")); ! } ! } ! availWidth = window.innerWidth; ! availHeight = window.innerHeight - 9; ! { ! var offsetParent; ! ! for (offsetParent = player.chart; offsetParent; offsetParent = offsetParent.offsetParent) ! { ! availWidth -= 2 * offsetParent.offsetLeft; ! availHeight -= 1 * offsetParent.offsetTop; ! } ! availWidth = availWidth > 620 ? 620 : availWidth; ! availHeight = availHeight > 480 ? 480 : availHeight; ! } ! src += "&chs=" + availWidth + "x" + availHeight + ! "&chdl=" + chdl.join("|") + ! "&chds=" + min + "," + max + ! "&chxl=0:|" + min + "|" + max + ! "&chco=FF0000,0000FF"; ! ! //windowDebug.innerHTML = src.length; ! //windowDebug.innerHTML += chd[0]; ! //DisplayObject(chd); ! src += "&chd=t:"; ! ppp -= (src.length + (chd.length - 1)); /* available characters */ ! ppp /= 5; /* available points */ ! ppp /= chd.length; ! //windowDebug.innerHTML = parseInt(ppp) + " points per player max"; ! src += chd.join("|"); ! ! player.chart.width = availWidth; ! player.chart.height = availHeight; ! player.chart.src = src; ! ! //alert(player.chart.src.length); ! //DisplayObject(window); } *************** *** 314,343 **** { var col = row[i].getElementsByTagName("td"); ! if (col.length > 0) { ! var new_row; ! var new_item = new Object(); ! var name; ! new_row = player.parentNode.parentNode.insertRow(player.parentNode.parentNode.rows.length); ! name = findName(col[0].firstChild.data); ! new_item.Name = col[0].firstChild.data; ! name.items.push(new_item); ! if (col.length > 1) { ! new_item.Rank = col[1].firstChild.data; } ! if (col.length > 2) { ! new_item.Division = col[2].firstChild.data; } ! if (col.length > 3) { ! new_item.Date = col[3].firstChild.data; } - addItem(new_row, new_item); } } } } --- 509,543 ---- { var col = row[i].getElementsByTagName("td"); + var new_item = new Object(); + var j; ! for (j = 0; j < col.length; j++) { ! var attr_name = col[j].getAttribute('name'); ! if (attr_name == "name") { ! var name; ! ! name = findName(col[j].firstChild.data); ! new_item.Name = col[j].firstChild.data; ! name.items.push(new_item); } ! else if (attr_name == "rank") { ! new_item.Rank = col[j].firstChild.data; } ! else if (attr_name == "division") { ! new_item.Division = col[j].firstChild.data; ! } ! else if (attr_name == "date") ! { ! new_item.Date = col[j].firstChild.data; } } } + makeChart(player.selector.options); + setName(getCookie('DisplayName')); } } *************** *** 351,356 **** --- 551,558 ---- player.division = document.getElementById("Division"); player.save = document.getElementById("Save"); + player.chart = document.getElementById("Chart"); player.input = player.getElementsByTagName("input")[0]; player.selector = document.createElement("select"); + player.selector.style.width = "100%"; player.selector.onchange = playerChange; player.selector.add(document.createElement("option"), null); *************** *** 360,363 **** --- 562,566 ---- player.division.disabled = true; player.save.disabled = true; + takeFocus(player.input); makeRequest("Action=Get", parseList); //makeRequest("Action=Get", null); *************** *** 370,386 **** </head> <body onload="load()"> ! <table border="1"> ! <tr> ! <th colspan="4">Golden Tee Rank</th> ! </tr> <tr> <td id="Player"> ! <input type="text" size="5" onkeypress="newPlayer(event)" /> </td> <td> ! <input id="Rank" type="text" size="5" disabled="disabled" onkeyup="numericOnly(this, event); setSave(this)" onchange="numericOnly(this); setSave(this)" /> </td> <td> ! <select id="Division" disabled="disabled"> <option>not ranked</option> <option>elite</option> --- 573,586 ---- </head> <body onload="load()"> ! <table border="0"> <tr> <td id="Player"> ! <input type="text" size="5" style="width: 100%" onkeypress="newPlayer(event)" /> </td> <td> ! <input id="Rank" type="number" size="5" style="width: 100%" disabled="disabled" onkeyup="setSave(this)" onchange="setSave(this)" /> </td> <td> ! <select id="Division" style="width: 100%" disabled="disabled"> <option>not ranked</option> <option>elite</option> *************** *** 392,398 **** --- 592,602 ---- </td> </tr> + <tr><td colspan="4"> + <img id="Chart" alt="Golden Tee Rank" /> + </td></tr> </table> <pre id="WindowStatus"></pre> <pre id="WindowDebug"></pre> + <!-- <p> <a href="http://validator.w3.org/check?uri=https%3A%2F%2Frwscott.no-ip.org%2Fgt_rank"><img *************** *** 400,404 **** alt="Valid XHTML 1.0 Strict" height="31" width="88" /></a> </p> ! </body> </html> --- 604,608 ---- alt="Valid XHTML 1.0 Strict" height="31" width="88" /></a> </p> ! --> </body> </html> |
From: Rick S. <rw...@us...> - 2010-12-05 13:21:43
|
Update of /cvsroot/xmblackberry/XmBlackBerry/WebApps/gt_rank/html In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv23830/gt_rank/html Added Files: gt_rank Log Message: A little web app to keep track of my GT rank. --- NEW FILE: gt_rank --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <meta http-equiv="Content-type" content="text/html;charset=UTF-8" /> <!-- $Header: /cvsroot/xmblackberry/XmBlackBerry/WebApps/gt_rank/html/gt_rank,v 1.1 2010/12/05 13:21:35 rwscott Exp $ --> <!-- Copyright (C) 2006 Rick Scott <rw...@us...> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> <style type="text/css"> div { } img { } table { border-collapse: collapse; } </style> <title>Golden Tee Rank</title> <script type="text/javascript"> /* <![CDATA[ */ function DisplayObject(obj) { var msg = new Array(); var x; msg.push(obj); for (x in obj) { try { msg.push(x + "(" + typeof(obj[x]) + ")=\"" + obj[x] + "\" "); } catch (err) { msg.push(x + " " + err); } } windowDebug.innerHTML = msg.join("<BR>"); } function numericOnly(text, event) { text.value = text.value.replace(/[Ww]/g, "1"); text.value = text.value.replace(/[Ee]/g, "2"); text.value = text.value.replace(/[Rr]/g, "3"); text.value = text.value.replace(/[Ss]/g, "4"); text.value = text.value.replace(/[Dd]/g, "5"); text.value = text.value.replace(/[Ff]/g, "6"); text.value = text.value.replace(/[Zz]/g, "7"); text.value = text.value.replace(/[Xx]/g, "8"); text.value = text.value.replace(/[Cc]/g, "9"); text.value = text.value.replace(/[Mm]/g, "."); text.value = text.value.replace(/[Ii]/g, "-"); text.value = text.value.replace(/[^0-9.-]/g, ""); } function setSave(text) { if (text.value.length > 0) { player.save.disabled = false; } else { player.save.disabled = true; } } function makeRequestCallback() { var msg = new Array() msg.push(this.action); switch (this.readyState) { case 0: msg.push("Uninitialized"); break; case 1: msg.push("Loading ..."); break; case 2: msg.push("Loaded"); break; case 3: msg.push("Interactive"); break; case 4: msg.push("Complete"); msg.push(this.statusText); windowStatus.innerHTML = msg.join(" "); if (this.responseText) { if (this.complete_callback) { msg.length = 0; this.complete_callback(this); } else { msg.length = 0; msg.push(this.action); msg.push(this.responseText); } } else { alert("makeRequestCallback " + this.readyState + " " + this.statusText); msg.length = 0; } break; default: alert("readyState " + this.readyState + this.action); break; } windowStatus.innerHTML = msg.join(" "); } function makeRequest(action, callback) { var request = new XMLHttpRequest(); request.complete_callback = callback; request.onreadystatechange = makeRequestCallback; request.action = action; { /* rws 2 Oct 2009 For this to work, with the apache that I have, with a per directory "SSLVerifyClient require" the global SSLVerifyClient _must_ be set to optional. Otherwise the POST fails. */ request.open("POST", "/cgi-sbin" + location.pathname, true); request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); request.send(action); } } function displayItems(items) { if (items) { var i; for (i = 0; i < items.length; i++) { var new_row = player.parentNode.parentNode.insertRow(player.parentNode.parentNode.rows.length); addItem(new_row, items[i]); } } } function newPlayer(evt) { if (evt.keyCode == 13) { var playerInput = evt.currentTarget.parentNode; if (evt.currentTarget.value) { var option; option = findName(evt.currentTarget.value); playerInput.selector.lastIndex = option.index; playerInput.selector.selectedIndex = playerInput.selector.lastIndex; trimTable(player.parentNode.parentNode); } else { playerInput.selector.selectedIndex = playerInput.selector.lastIndex; } if (playerInput.selector.length > 1) { if (playerInput.selector.selectedIndex == 0) { playerInput.selector.selectedIndex = 1; } playerInput.removeChild(evt.currentTarget); playerInput.appendChild(playerInput.selector); playerInput.rank.disabled = false; playerInput.division.disabled = false; displayItems(playerInput.selector.options[playerInput.selector.selectedIndex].items); playerInput.rank.focus(); } } } function playerChange(evt) { var playerInput = evt.currentTarget.parentNode; if (evt.currentTarget.selectedIndex == 0) { playerInput.removeChild(evt.currentTarget); playerInput.input.value = ""; playerInput.appendChild(playerInput.input); playerInput.rank.disabled = true; playerInput.division.disabled = true; playerInput.input.focus(); } else { playerInput.selector.lastIndex = playerInput.selector.selectedIndex; playerInput.rank.focus(); } playerInput.save.disabled = true; playerInput.rank.value = ""; trimTable(player.parentNode.parentNode); displayItems(playerInput.selector.options[playerInput.selector.selectedIndex].items); } function save(field) { var playerInput = field.parentNode.parentNode.cells[0]; var request; request = "Action=Save"; request += "&Name=" + encodeURIComponent(playerInput.selector.options[playerInput.selector.selectedIndex].text); request += "&Rank=" + encodeURIComponent(playerInput.rank.value); request += "&Division=" + encodeURIComponent(playerInput.division.options[playerInput.division.selectedIndex].text); makeRequest(request, parseList); } function findName(name) { var i; var option = null; for (i = 0; i < player.selector.length; i++) { if (player.selector.options[i].text == name) { option = player.selector.options[i]; break; } } if (option == null) { player.selector.add(document.createElement("option"), null); player.selector.options[player.selector.length - 1].text = name; player.selector.options[player.selector.length - 1].items = new Array(); option = player.selector.options[player.selector.length - 1]; } return(option); } function trimTable(table) { var i; for (i = table.rows.length - 1; i > 1; i--) { table.deleteRow(i); } } function addItem(row, item) { var col = row.insertCell(row.cells.length); col.innerHTML = item.Name; col = row.insertCell(row.cells.length); col.innerHTML = item.Rank; col = row.insertCell(row.cells.length); col.innerHTML = item.Division; col = row.insertCell(row.cells.length); col.innerHTML = item.Date; } function parseList(response) { var table; trimTable(player.parentNode.parentNode); player.rank.value = ""; player.save.disabled = true; table = response.responseXML.getElementById("Get"); if (table) { var row = table.getElementsByTagName("tr"); var i; for (i = 0; i < player.selector.length; i++) { if (player.selector.options[i].items) { player.selector.options[i].items.length = 0; } } for (i = 0; i < row.length; i++) { var col = row[i].getElementsByTagName("td"); if (col.length > 0) { var new_row; var new_item = new Object(); var name; new_row = player.parentNode.parentNode.insertRow(player.parentNode.parentNode.rows.length); name = findName(col[0].firstChild.data); new_item.Name = col[0].firstChild.data; name.items.push(new_item); if (col.length > 1) { new_item.Rank = col[1].firstChild.data; } if (col.length > 2) { new_item.Division = col[2].firstChild.data; } if (col.length > 3) { new_item.Date = col[3].firstChild.data; } addItem(new_row, new_item); } } } } function load() { windowDebug = document.getElementById("WindowDebug"); windowStatus = document.getElementById("WindowStatus"); player = document.getElementById("Player"); player.rank = document.getElementById("Rank"); player.division = document.getElementById("Division"); player.save = document.getElementById("Save"); player.input = player.getElementsByTagName("input")[0]; player.selector = document.createElement("select"); player.selector.onchange = playerChange; player.selector.add(document.createElement("option"), null); player.selector.lastIndex = 0; player.rank.disabled = true; player.rank.value = ""; player.division.disabled = true; player.save.disabled = true; makeRequest("Action=Get", parseList); //makeRequest("Action=Get", null); } /* ]]> */ </script> </head> <body onload="load()"> <table border="1"> <tr> <th colspan="4">Golden Tee Rank</th> </tr> <tr> <td id="Player"> <input type="text" size="5" onkeypress="newPlayer(event)" /> </td> <td> <input id="Rank" type="text" size="5" disabled="disabled" onkeyup="numericOnly(this, event); setSave(this)" onchange="numericOnly(this); setSave(this)" /> </td> <td> <select id="Division" disabled="disabled"> <option>not ranked</option> <option>elite</option> <option>pro</option> </select> </td> <td> <input id="Save" type="button" value="Save" disabled="disabled" style="width: 100%" onclick="save(this);" /> </td> </tr> </table> <pre id="WindowStatus"></pre> <pre id="WindowDebug"></pre> <p> <a href="http://validator.w3.org/check?uri=https%3A%2F%2Frwscott.no-ip.org%2Fgt_rank"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Strict" height="31" width="88" /></a> </p> </body> </html> |
From: Rick S. <rw...@us...> - 2010-12-05 13:21:43
|
Update of /cvsroot/xmblackberry/XmBlackBerry/WebApps/gt_rank/cgi-sbin In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv23830/gt_rank/cgi-sbin Added Files: gt_rank Log Message: A little web app to keep track of my GT rank. --- NEW FILE: gt_rank --- #! /usr/bin/perl use English; use CGI; #use CGI::Pretty; $CGI::POST_MAX = 0; $CGI::DISABLE_UPLOADS = 1; use DBI; sub printEnvironment { my(@rows); my($query) = @_; my(@rows); foreach (sort(keys(%ENV))) { push(@rows, $query->Tr($query->td([$_, $ENV{$_}]))); } print $query->table({-border => 1, -id => "Environment"}, $query->Tr($query->th({-colspan => 0}, "Environment Variables")), $query->Tr($query->th(["Variable", "Value"])), @rows ); } sub printParameters { my(@rows); my($query) = @_; my (@params) = $query->param(); foreach (sort(@params)) { push(@rows, $query->Tr($query->td([$_, $query->param($_)]))); } print $query->table({-border => 1, -id => "Parameters"}, $query->Tr($query->th({-colspan => 2}, "Script Parameters")), $query->Tr($query->th(["Variable", "Value"])), @rows ); } sub list { my($query, $dbh, $sql) = @_; my(@rows); if ($dbh) { my($sth, $rv); $sth = $dbh->prepare($sql); $rv = $sth->execute(); if ($rv) { my(@cols); push(@rows, $query->Tr($query->th($sth->{'NAME'}))); while (@cols = $sth->fetchrow_array) { my(@fields); my($i); for ($i = 0; $i <= $#cols; $i++) { push(@fields, $query->td({-name => "$sth->{'NAME'}->[$i]"}, $cols[$i])); } push(@rows, $query->Tr({-align => "center"}, @fields)); } } else { push(@rows, $query->Tr($query->td({-colspan => "0"}, ["Database error", $sth->errstr]))); push(@rows, $query->Tr($query->td({-colspan => "0"}, ["Statement", $sth->{'Statement'}]))); } } else { push(@rows, $query->Tr($query->td({-colspan => "0"}, "Database connect error. \"$DBI::errstr\"."))); } print $query->table({-border => 1, -id => $query->param('Action')}, $query->Tr($query->th({-colspan => "0"}, $query->param('Action'))), @rows ); } sub getList { my($query, $dbh) = @_; list($query, $dbh, qq{SELECT * from `$table` ORDER BY `date` DESC}); } my ($query) = new CGI; my ($baseDB); my ($dbh); #$baseDB = "DBI:mysql:database=rwscott;host=den.rwscott.no-ip.org;mysql_client_found_rows=1;mysql_read_default_file=/var/www/.my.cnf"; $baseDB = "DBI:mysql:mysql_client_found_rows=1;mysql_read_default_group=gt_rank;mysql_read_default_file=/var/www/.my.cnf"; $dbh = DBI->connect($baseDB, undef, undef, {AutoCommit => 0}); print $query->header( -type => 'text/xml', -expires => 'now'); print $query->start_html(-title => 'Golden Tee Rank'); if (1 == 0) { printParameters($query); } if (1 == 0) { printEnvironment($query); } if (! $dbh) { print "Database connect error. \"$DBI::errstr\"."; } else { ($table = $ENV{'SCRIPT_NAME'}) =~ s|^.*/||; $rows = $dbh->do(qq{CREATE TABLE IF NOT EXISTS `rwscott`.`$table` ( `name` TEXT, `rank` INT NOT NULL, `division` ENUM("not ranked", "pro", "elite"), `date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ) }); if ($rows) { if ($query->param('Action') =~ m/^Save$/) { if ($ENV{'SSL_CLIENT_VERIFY'} =~ m/^SUCCESS$/) { printParameters($query); if (!($query->param('Name') =~ m/^$/) && !($query->param('Division') =~ m/^$/) && !($query->param('Rank') =~ m/^$/)) { my($sth, $rv); $sth = $dbh->prepare(qq{INSERT INTO `$table`(Name, Division, Rank) VALUES (?,?,?)}); $rv = $sth->execute($query->param('Name'), $query->param('Division'), $query->param('Rank')); if ($rv) { } else { print $sth->errstr; } $query->param(-name => 'Action', -value => "Get"); getList($query, $dbh); } } else { print "Permission to save denied."; } } elsif ($query->param('Action') =~ m/^Get$/) { getList($query, $dbh); } else { print "Unknown Action \"" . $query->param('Action') . "\""; printEnvironment($query); printParameters($query); $query->param(-name => 'Action', -value => "Get"); getList($query, $dbh); } } else { print "Failed to create table. ", $DBI::errstr; } $dbh->disconnect(); } print $query->end_html; |
From: Rick S. <rw...@us...> - 2010-12-05 13:19:31
|
Update of /cvsroot/xmblackberry/XmBlackBerry/WebApps/gt_rank/html In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv23145/html Log Message: Directory /cvsroot/xmblackberry/XmBlackBerry/WebApps/gt_rank/html added to the repository |
From: Rick S. <rw...@us...> - 2010-12-05 13:19:28
|
Update of /cvsroot/xmblackberry/XmBlackBerry/WebApps/gt_rank/cgi-sbin In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv23145/cgi-sbin Log Message: Directory /cvsroot/xmblackberry/XmBlackBerry/WebApps/gt_rank/cgi-sbin added to the repository |
From: Rick S. <rw...@us...> - 2010-12-05 13:18:55
|
Update of /cvsroot/xmblackberry/XmBlackBerry/WebApps/gt_rank In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv23089/gt_rank Log Message: Directory /cvsroot/xmblackberry/XmBlackBerry/WebApps/gt_rank added to the repository |
From: Rick S. <rw...@us...> - 2010-10-22 21:31:05
|
Update of /cvsroot/xmblackberry/XmBlackBerry/tools/javaloader In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv20930 Modified Files: Makefile.am bsn.c info.c javaloader.c javaloader.h load.c read_vsm.c vendor.h vsm.c Added Files: vendor.c Log Message: - print out the vendor string with the device info. - protect against reading too much device data into the read buffer. - comment a few more commands that seem valid on the caltask device. Index: javaloader.c =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/tools/javaloader/javaloader.c,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** javaloader.c 10 May 2009 15:45:14 -0000 1.24 --- javaloader.c 22 Oct 2010 21:30:57 -0000 1.25 *************** *** 156,179 **** to_read = (to_read << 8) | len[0]; ret = 0; ! do { ! int left; ! ssize_t num; ! ! left = to_read - ret; ! num = read(fd, &data[ret], left); ! if (num > 0) ! { ! ret += num; ! } ! else { ! DEBUG(0, "num %i Read %i, expecting %i\n", ! num, ! ret, ! to_read); ! break; ! } ! } while (ret < to_read); if (ret != to_read) { --- 156,188 ---- to_read = (to_read << 8) | len[0]; ret = 0; ! if (to_read <= count) { ! do { ! int left; ! ssize_t num; ! ! left = to_read - ret; ! num = read(fd, &data[ret], left); ! if (num > 0) ! { ! ret += num; ! } ! else ! { ! DEBUG(0, "num %i Read %i, expecting %i\n", ! num, ! ret, ! to_read); ! break; ! } ! } while (ret < to_read); ! } ! else ! { ! DEBUG(0, "count %zu, to_read %i\n", ! count, ! to_read); ! } if (ret != to_read) { Index: load.c =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/tools/javaloader/load.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** load.c 5 Apr 2009 09:53:20 -0000 1.7 --- load.c 22 Oct 2010 21:30:57 -0000 1.8 *************** *** 47,51 **** ! DEBUG(3, "load %i(0x%08x) bytes\n", size, size); read_buf[0] = (size >> 24) & 0xff; read_buf[1] = (size >> 16) & 0xff; --- 47,51 ---- ! DEBUG(3, "load %zu(0x%08zx) bytes\n", size, size); read_buf[0] = (size >> 24) & 0xff; read_buf[1] = (size >> 16) & 0xff; Index: info.c =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/tools/javaloader/info.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** info.c 2 Mar 2009 13:35:43 -0000 1.4 --- info.c 22 Oct 2010 21:30:57 -0000 1.5 *************** *** 26,29 **** --- 26,30 ---- #include "javaloader.h" #include "util.h" + #include "vendor.h" int *************** *** 85,89 **** { vendor_id = get_double_word(&read_buf[20]); ! fprintf(stdout, "Vendor ID:\t%-i\n", vendor_id); } --- 86,92 ---- { vendor_id = get_double_word(&read_buf[20]); ! fprintf(stdout, "Vendor ID:\t%-i \"%s\"\n", ! vendor_id, ! VendorId2String(vendor_id)); } Index: read_vsm.c =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/tools/javaloader/read_vsm.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** read_vsm.c 16 Oct 2010 12:45:09 -0000 1.2 --- read_vsm.c 22 Oct 2010 21:30:57 -0000 1.3 *************** *** 89,111 **** static char * - VendorId2String(short id) - { - char *ret; - - #define VENDOR_ITEM(id, name, ...) case id: ret = #name; break; - - switch (id) - { - VENDOR_LIST - default: - ret = "UNKNOWN"; - break; - } - - #undef VENDOR_ITEM - return(ret); - } - - static char * RecordId2String(short id) { --- 89,92 ---- Index: bsn.c =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/tools/javaloader/bsn.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** bsn.c 10 May 2009 15:45:14 -0000 1.1 --- bsn.c 22 Oct 2010 21:30:57 -0000 1.2 *************** *** 41,44 **** --- 41,45 ---- unsigned char msg1[] = {0x80, 0xfe, /* command */ + #if 0 0x14, 0x00, /* how much data follows */ 0x00, 0x00, 0x00, 0x00, *************** *** 47,50 **** --- 48,55 ---- 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00}; /* the data */ + #else + 0x04, 0x00, /* how much data follows */ + 0x00, 0x00, 0x00, 0x00}; /* the data */ + #endif DEBUG(3, "Read BSN\n"); --- NEW FILE: vendor.c --- #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "vendor.h" char * VendorId2String(short id) { char *ret; #define VENDOR_ITEM(id, name, ...) case id: ret = #name; break; switch (id) { VENDOR_LIST default: ret = "UNKNOWN"; break; } #undef VENDOR_ITEM return(ret); } Index: vendor.h =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/tools/javaloader/vendor.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** vendor.h 16 Oct 2010 12:45:09 -0000 1.1 --- vendor.h 22 Oct 2010 21:30:57 -0000 1.2 *************** *** 181,183 **** --- 181,185 ---- VENDOR_ITEM(0x136, WIND_ITALY) + char *VendorId2String(short id); + #endif Index: vsm.c =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/tools/javaloader/vsm.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** vsm.c 9 May 2009 11:04:57 -0000 1.6 --- vsm.c 22 Oct 2010 21:30:57 -0000 1.7 *************** *** 268,285 **** unsigned char msg1[] = {0x3a, 0xff, /* command */ 0x04, 0x00, /* how much data follows */ ! 0x00, 0x00, 0x02, 0xff}; /* the data */ ! write_device(args->loader_fd, msg1, sizeof(msg1)); ! num_read = read_device(args->loader_fd, read_buf, sizeof(read_buf)); ! if (num_read > 2 && read_buf[0] == msg1[0] + 1 && read_buf[1] == msg1[1]) ! { ! DEBUG(0, "success\n"); ! write(vsm_fd, &read_buf[8], num_read - 8); ! } ! else ! { ! DEBUG(0, "failure\n"); ! dump_hex("", read_buf, num_read); ! } close(vsm_fd); } --- 268,285 ---- unsigned char msg1[] = {0x3a, 0xff, /* command */ 0x04, 0x00, /* how much data follows */ ! 0x00, 0x00, 0x00, 0x00}; /* the data */ ! write_device(args->loader_fd, msg1, sizeof(msg1)); ! num_read = read_device(args->loader_fd, read_buf, sizeof(read_buf)); ! if (num_read > 2 && read_buf[0] == msg1[0] + 1 && read_buf[1] == msg1[1]) ! { ! DEBUG(0, "success\n"); ! write(vsm_fd, &read_buf[8], num_read - 8); ! } ! else ! { ! DEBUG(0, "failure\n"); ! dump_hex("", read_buf, num_read); ! } close(vsm_fd); } Index: javaloader.h =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/tools/javaloader/javaloader.h,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** javaloader.h 10 May 2009 15:45:14 -0000 1.19 --- javaloader.h 22 Oct 2010 21:30:57 -0000 1.20 *************** *** 19,42 **** /* Commands that I know about ! 0x0064 Starts a session (Also seems to be the ACK from the device) ! 0x0068 Send/Get more data ! 0x0069 Erase a module ! 0x006d Get a list of module id's ! 0x006e Get a modules info ! 0x0070 Dunno ! 0x0071 Get device info ! 0x0072 After an erase or save ! 0x0073 Get the number of events in the log ! 0x0074 Get an event from the log ! 0x0078 Get OS metrics ! 0x0079 Get Bootrom metrics ! 0x007c Set time ! 0x007d Get a sub-modules info ! 0x007e Get a module from the device ! 0x007f Get a list of sub-module id's ! 0x0080 Get a module id from the module name ! 0x0087 Get screen dump ! 0x008d Ends a session ! 0x0167 Load a module to the device */ --- 19,89 ---- /* Commands that I know about ! 0x0064 Starts a session (Also seems to be the ACK from the device) ! 0x0068 Send/Get more data ! 0x0069 Erase a module ! 0x006d Get a list of module id's ! 0x006e Get a modules info ! 0x0070 Dunno ! 0x0071 Get device info ! 0x0072 After an erase or save ! 0x0073 Get the number of events in the log ! 0x0074 Get an event from the log ! 0x0078 Get OS metrics ! 0x0079 Get Bootrom metrics ! 0x007c Set time ! 0x007d Get a sub-modules info ! 0x007e Get a module from the device ! 0x007f Get a list of sub-module id's ! 0x0080 Get a module id from the module name ! 0x0087 Get screen dump ! 0x008d Ends a session ! 0x0167 Load a module to the device ! ! 0xfe80 Read Board Serial Number ! 0xff38 Read Software Product List ! ! 0xff02 ! 0xff0c ! 0xff10 ! 0xff12 ! 0xff14 Reset ! 0xff16 ! 0xff18 ! 0xff1c ! 0xff20 ! 0xff22 ! 0xff2c ! 0xff2e ! 0xff32 ! 0xff34 ! 0xff36 ! 0xff38 ! 0xff3a ! 0xff3c ! 0xff3e ! 0xff40 ! 0xff42 ! 0xff4c ! 0xff4e ! 0xff50 ! 0xff52 ! 0xff54 ! 0xff56 ! 0xff58 ! 0xff5a ! 0xff5c ! 0xff5e ! 0xff62 ! 0xff64 ! 0xff66 ! 0xff68 ! 0xff6a ! 0xff6c ! 0xff6e ! 0xff72 ! 0xff76 ! 0xff7a ! 0xff8e ! 0xfffe */ Index: Makefile.am =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/tools/javaloader/Makefile.am,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** Makefile.am 16 Oct 2010 12:45:09 -0000 1.18 --- Makefile.am 22 Oct 2010 21:30:57 -0000 1.19 *************** *** 10,17 **** noinst_HEADERS = vsm_record.h vendor.h bsn.h erase.h load.h zip.h spl.h vsm.h eventlog.h set-time.h save.h screenshot.h dir.h info.h javaloader.h util.h ! javaloader_SOURCES = bsn.c erase.c load.c spl.c vsm.c eventlog.c set-time.c save.c screenshot.c dir.c info.c javaloader.c util.c javaloader_LDADD = @Z_LIBS@ ! read_vsm_SOURCES = read_vsm.c util.c read_vsm_LDADD = @Z_LIBS@ --- 10,17 ---- noinst_HEADERS = vsm_record.h vendor.h bsn.h erase.h load.h zip.h spl.h vsm.h eventlog.h set-time.h save.h screenshot.h dir.h info.h javaloader.h util.h ! javaloader_SOURCES = bsn.c erase.c load.c spl.c vsm.c eventlog.c set-time.c save.c screenshot.c dir.c info.c javaloader.c util.c vendor.c javaloader_LDADD = @Z_LIBS@ ! read_vsm_SOURCES = read_vsm.c util.c vendor.c read_vsm_LDADD = @Z_LIBS@ |
From: Chris F. <cd...@fo...> - 2010-10-18 20:37:44
|
On Sat, Oct 16, 2010 at 12:45:11PM +0000, Rick Scott wrote: > --- NEW FILE: vendor.h --- > /* > XmBlackBerry, Copyright (C) 2009 Rick Scott <rw...@us...> > > This program is free software; you can redistribute it and/or modify > it under the terms of the GNU General Public License as published by > the Free Software Foundation, version 2. > > This program is distributed in the hope that it will be useful, > but WITHOUT ANY WARRANTY; without even the implied warranty of > MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > GNU General Public License for more details. > > You should have received a copy of the GNU General Public License > along with this program; if not, write to the Free Software > Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA > */ > #ifndef _VENDOR_H > #define _VENDOR_H > > #define VENDOR_LIST \ > VENDOR_ITEM(0x01, RIM) \ > VENDOR_ITEM(0x64, T_MOBILE_US) \ > VENDOR_ITEM(0x65, CINGULAR_WIRELESS) \ > VENDOR_ITEM(0x66, AT_T_WIRELESS) \ > VENDOR_ITEM(0x67, NEXTEL) \ > VENDOR_ITEM(0x68, SPRINT_PCS) \ > VENDOR_ITEM(0x69, VERIZON_WIRELESS) \ > VENDOR_ITEM(0x6a, ALLTEL) \ > VENDOR_ITEM(0x6b, ROGERS_AT_T) \ Hi Rick, Where did you find this vendor information? Is it published on RIM's website? Thanks, - Chris |
From: Rick S. <rw...@us...> - 2010-10-16 12:45:18
|
Update of /cvsroot/xmblackberry/XmBlackBerry In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv329 Modified Files: XmBlackBerry.c buffer.c parsedb.c serial.c util.c Log Message: XmBlackBerry.c: - take "/"'s out of database filenames. - 64 bit clean-up buffer.c: - protection from pulling too much from a buffer head - 64 bit clean-up serial.c: - process the serial buffer a little more itelligently - set close on exec so that the sync process will not keep the device file open. util.c: - 64 bit clean-up gprs_protocol_fix/gprs_protocol_fix.c: - 64 bit clean-up kernel/caltask.c: - comment on the two new caltask channels kernel/init.c: - pass the result of validate_mode back from parse_mode_select, instead of always ENOSYS - process all data received from the usb, not just what is in the len field. Reading a VSM file seems to send back more data than the packet indicates tools/javaloader/read_vsm.c: - show vendor id's as strings as well as the number - show record type's as strings as well as the number - add a symlink to the record file with the field name of the record - plug a memory leak writing the record files Index: buffer.c =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/buffer.c,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** buffer.c 2 Dec 2006 16:32:55 -0000 1.20 --- buffer.c 16 Oct 2010 12:45:09 -0000 1.21 *************** *** 231,234 **** --- 231,239 ---- buffer->head += len; buffer->len -= len; + if (buffer->len <= 0) + { + buffer->len = 0; + buffer->head = 0; + } } return(ret); Index: XmBlackBerry.c =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/XmBlackBerry.c,v retrieving revision 1.171 retrieving revision 1.172 diff -C2 -d -r1.171 -r1.172 *** XmBlackBerry.c 3 Oct 2009 12:15:22 -0000 1.171 --- XmBlackBerry.c 16 Oct 2010 12:45:09 -0000 1.172 *************** *** 629,634 **** strlen(resources->prefix) > 0 ? "/" : "", pin); ! file = XtMalloc(strlen(dir) + strlen(database) + 2); ! sprintf(file, "%s/%s", dir, database); XtFree(dir); return(file); --- 629,645 ---- strlen(resources->prefix) > 0 ? "/" : "", pin); ! { ! char *tmp; ! char *tmp1; ! ! tmp1 = strdup(database); ! while ((tmp = strchr(tmp1, '/'))) ! { ! tmp[0] = '^'; ! } ! file = XtMalloc(strlen(dir) + strlen(tmp1) + 2); ! sprintf(file, "%s/%s", dir, tmp1); ! XtFree(tmp1); ! } XtFree(dir); return(file); *************** *** 719,723 **** FileMenuCallback(Widget w, XtPointer client_data, XtPointer call_data) { ! int button = (int)client_data; resourcesPtr resources; --- 730,734 ---- FileMenuCallback(Widget w, XtPointer client_data, XtPointer call_data) { ! size_t button = (size_t)client_data; resourcesPtr resources; *************** *** 791,795 **** break; default: ! debug(0, "%s:%s(%d) - %s(%i)\n", __FILE__, __FUNCTION__, __LINE__, XtName(w), button); --- 802,806 ---- break; default: ! debug(0, "%s:%s(%d) - %s(%zi)\n", __FILE__, __FUNCTION__, __LINE__, XtName(w), button); *************** *** 820,824 **** OptionMenuCallback(Widget w, XtPointer client_data, XtPointer call_data) { ! int button = (int)client_data; resourcesPtr resources; BlackBerry_t *device; --- 831,835 ---- OptionMenuCallback(Widget w, XtPointer client_data, XtPointer call_data) { ! size_t button = (size_t)client_data; resourcesPtr resources; BlackBerry_t *device; *************** *** 909,913 **** break; default: ! debug(0, "%s:%s(%d) - %s(%i)\n", __FILE__, __FUNCTION__, __LINE__, XtName(w), button); --- 920,924 ---- break; default: ! debug(0, "%s:%s(%d) - %s(%zi)\n", __FILE__, __FUNCTION__, __LINE__, XtName(w), button); *************** *** 1096,1100 **** SyncMenuCallback(Widget w, XtPointer client_data, XtPointer call_data) { ! int button = (int)client_data; resourcesPtr resources; --- 1107,1111 ---- SyncMenuCallback(Widget w, XtPointer client_data, XtPointer call_data) { ! size_t button = (size_t)client_data; resourcesPtr resources; *************** *** 1138,1142 **** break; default: ! debug(0, "%s:%s(%d) - %s(%i)\n", __FILE__, __FUNCTION__, __LINE__, XtName(w), button); --- 1149,1153 ---- break; default: ! debug(0, "%s:%s(%d) - %s(%zi)\n", __FILE__, __FUNCTION__, __LINE__, XtName(w), button); *************** *** 1252,1256 **** HelpMenuCallback(Widget w, XtPointer client_data, XtPointer call_data) { ! int button = (int)client_data; switch (button) --- 1263,1267 ---- HelpMenuCallback(Widget w, XtPointer client_data, XtPointer call_data) { ! size_t button = (size_t)client_data; switch (button) *************** *** 1268,1272 **** break; default: ! debug(0, "%s:%s(%d) - %s(%i)\n", __FILE__, __FUNCTION__, __LINE__, XtName(w), button); --- 1279,1283 ---- break; default: ! debug(0, "%s:%s(%d) - %s(%zi)\n", __FILE__, __FUNCTION__, __LINE__, XtName(w), button); Index: util.c =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/util.c,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** util.c 4 Dec 2006 22:00:28 -0000 1.13 --- util.c 16 Oct 2010 12:45:09 -0000 1.14 *************** *** 66,70 **** if (i + 1 < len) { ! fprintf(stderr, "\n%*s%s", strlen(prefix), "", strlen(prefix) > 0 ? " " : ""); } sep = ""; --- 66,71 ---- if (i + 1 < len) { ! fprintf(stderr, "\n%*s%s", ! (int)strlen(prefix), "", strlen(prefix) > 0 ? " " : ""); } sep = ""; Index: serial.c =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/serial.c,v retrieving revision 1.84 retrieving revision 1.85 diff -C2 -d -r1.84 -r1.85 *** serial.c 5 Nov 2008 21:18:39 -0000 1.84 --- serial.c 16 Oct 2010 12:45:09 -0000 1.85 *************** *** 515,519 **** if (memcmp(&BufferData(&bb->data)[0], header, sizeof(header)) == 0) { ! if (BufferLen(&bb->data) == sizeof(header)) { } --- 515,519 ---- if (memcmp(&BufferData(&bb->data)[0], header, sizeof(header)) == 0) { ! if (BufferLen(&bb->data) <= sizeof(header)) { } *************** *** 523,531 **** { case 0x41: ! if (BufferLen(&bb->data) > sizeof(header) + 2) { BufferPullHead(&bb->data, sizeof(header)); process_packet(dev, BufferData(&bb->data), BufferLen(&bb->data)); ! BufferEmpty(&bb->data); } else --- 523,532 ---- { case 0x41: ! if (BufferLen(&bb->data) > sizeof(header) + 2 + 2) { BufferPullHead(&bb->data, sizeof(header)); process_packet(dev, BufferData(&bb->data), BufferLen(&bb->data)); ! //BufferEmpty(&bb->data); ! BufferPullHead(&bb->data, 1 + 2 + 2); } else *************** *** 540,545 **** int size = 0; ! size += BufferData(&bb->data)[5] << 8; ! size += BufferData(&bb->data)[6] << 0; if (BufferLen(&bb->data) >= sizeof(header) + 2 + 2 + size + 2) --- 541,546 ---- int size = 0; ! size += BufferData(&bb->data)[sizeof(header) + 2] << 8; ! size += BufferData(&bb->data)[sizeof(header) + 3] << 0; if (BufferLen(&bb->data) >= sizeof(header) + 2 + 2 + size + 2) *************** *** 550,554 **** //process_packet(dev, BufferData(&bb->data), BufferLen(&bb->data)); process_packet(dev, BufferData(&bb->data), size + 2); ! BufferEmpty(&bb->data); } else --- 551,562 ---- //process_packet(dev, BufferData(&bb->data), BufferLen(&bb->data)); process_packet(dev, BufferData(&bb->data), size + 2); ! if (BufferLen(&bb->data) != size + 2) ! { ! debug(0, "%s:%s(%d) - %i %i\n", ! __FILE__, __FUNCTION__, __LINE__, ! BufferLen(&bb->data), size + 2); ! } ! //BufferEmpty(&bb->data); ! BufferPullHead(&bb->data, size + 2); } else *************** *** 563,567 **** break; case 0xc1: ! BufferEmpty(&bb->data); break; case 0x39: --- 571,576 ---- break; case 0xc1: ! //BufferEmpty(&bb->data); ! BufferPullHead(&bb->data, sizeof(header) + 1); break; case 0x39: *************** *** 580,591 **** } bb_serial_send_packet(dev, 0, query, sizeof(query)); } - BufferEmpty(&bb->data); break; default: - dump_hex("<==", BufferData(&bb->data), BufferLen(&bb->data)); debug(0, "%s:%s(%d) - Unknown packet type\n", __FILE__, __FUNCTION__, __LINE__); ! BufferEmpty(&bb->data); break; } --- 589,602 ---- } bb_serial_send_packet(dev, 0, query, sizeof(query)); + //BufferEmpty(&bb->data); + BufferPullHead(&bb->data, sizeof(header) + 1); } break; default: debug(0, "%s:%s(%d) - Unknown packet type\n", __FILE__, __FUNCTION__, __LINE__); ! dump_hex("<== dumping", BufferData(&bb->data), BufferLen(&bb->data)); ! //BufferEmpty(&bb->data); ! BufferPullHead(&bb->data, sizeof(header) + 1); break; } *************** *** 594,603 **** else if (memcmp(&BufferData(&bb->data)[0], footer, sizeof(footer)) == 0) { ! BufferEmpty(&bb->data); } else { debug(0, "%s:%s(%d)\n", __FILE__, __FUNCTION__, __LINE__); ! BufferEmpty(&bb->data); } } --- 605,617 ---- else if (memcmp(&BufferData(&bb->data)[0], footer, sizeof(footer)) == 0) { ! //BufferEmpty(&bb->data); ! BufferPullHead(&bb->data, sizeof(footer)); } else { debug(0, "%s:%s(%d)\n", __FILE__, __FUNCTION__, __LINE__); ! dump_hex("<==", BufferData(&bb->data), BufferLen(&bb->data)); ! //BufferEmpty(&bb->data); ! BufferPullHead(&bb->data, 1); } } *************** *** 612,616 **** __FILE__, __FUNCTION__, __LINE__); } ! BufferEmpty(&bb->data); if (dev->last_packet) { --- 626,631 ---- __FILE__, __FUNCTION__, __LINE__); } ! //BufferEmpty(&bb->data); ! BufferPullHead(&bb->data, 1); if (dev->last_packet) { *************** *** 621,629 **** (memcmp(&BufferData(&bb->data)[0], footer, BufferLen(&bb->data)) != 0)) { ! if (DebugLevel >= 4) { dump_hex("<== dumping", BufferData(&bb->data), BufferLen(&bb->data)); } ! BufferEmpty(&bb->data); } } --- 636,647 ---- (memcmp(&BufferData(&bb->data)[0], footer, BufferLen(&bb->data)) != 0)) { ! if (DebugLevel >= 0) { + debug(0, "%s:%s(%d)\n", + __FILE__, __FUNCTION__, __LINE__); dump_hex("<== dumping", BufferData(&bb->data), BufferLen(&bb->data)); } ! //BufferEmpty(&bb->data); ! BufferPullHead(&bb->data, 1); } } *************** *** 724,727 **** --- 742,746 ---- if (device->blackberry->fd >= 0) { + fcntl(device->blackberry->fd, F_SETFD, FD_CLOEXEC); while (device->blackberry->fd >= 0) { Index: parsedb.c =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/parsedb.c,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** parsedb.c 9 Dec 2006 05:26:46 -0000 1.23 --- parsedb.c 16 Oct 2010 12:45:09 -0000 1.24 *************** *** 276,280 **** else { ! fprintf(stderr, "header not right size %i %i\n", next_field->size, sizeof(message_header)); ret = 1; } --- 276,280 ---- else { ! fprintf(stderr, "header not right size %i %zu\n", next_field->size, sizeof(message_header)); ret = 1; } *************** *** 313,317 **** case 0x16: /* Attachment */ dump_hex("attachment", (void *)next_field->attachment.stuff, sizeof(next_field->attachment.stuff)); ! fprintf(stderr, "ATTACHMENT: \"%s\"(%i) \"%s\"(%i)\n", next_field->attachment.attachment, strlen(next_field->attachment.attachment), --- 313,317 ---- case 0x16: /* Attachment */ dump_hex("attachment", (void *)next_field->attachment.stuff, sizeof(next_field->attachment.stuff)); ! fprintf(stderr, "ATTACHMENT: \"%s\"(%zu) \"%s\"(%zu)\n", next_field->attachment.attachment, strlen(next_field->attachment.attachment), *************** *** 323,327 **** calc_size = next_field->size; dump_hex("attachment", ATTACHMENT(next_field->attachment.attachment), ATTACHMENT_SIZE(next_field)); ! fprintf(stderr, "type = %02x size = %04x calc_size = %04x attach_size = %x\n", next_field->type, next_field->size, calc_size, ATTACHMENT_SIZE(next_field)); break; case 0x0c: /* Body */ --- 323,328 ---- calc_size = next_field->size; dump_hex("attachment", ATTACHMENT(next_field->attachment.attachment), ATTACHMENT_SIZE(next_field)); ! fprintf(stderr, "type = %02x size = %04x calc_size = %04x attach_size = %zx\n", ! next_field->type, next_field->size, calc_size, ATTACHMENT_SIZE(next_field)); break; case 0x0c: /* Body */ *************** *** 512,516 **** if (!feof(file)) { ! fprintf(stderr, "%s:%s(%d) - Failed to read record length \"%s\". Read %i of %i. %s %s\n", __FILE__, __FUNCTION__, __LINE__, argv[1], --- 513,517 ---- if (!feof(file)) { ! fprintf(stderr, "%s:%s(%d) - Failed to read record length \"%s\". Read %i of %zi. %s %s\n", __FILE__, __FUNCTION__, __LINE__, argv[1], |
From: Rick S. <rw...@us...> - 2010-10-16 12:45:18
|
Update of /cvsroot/xmblackberry/XmBlackBerry/tools/javaloader In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv329/tools/javaloader Modified Files: Makefile.am read_vsm.c Added Files: vendor.h vsm_record.h Log Message: XmBlackBerry.c: - take "/"'s out of database filenames. - 64 bit clean-up buffer.c: - protection from pulling too much from a buffer head - 64 bit clean-up serial.c: - process the serial buffer a little more itelligently - set close on exec so that the sync process will not keep the device file open. util.c: - 64 bit clean-up gprs_protocol_fix/gprs_protocol_fix.c: - 64 bit clean-up kernel/caltask.c: - comment on the two new caltask channels kernel/init.c: - pass the result of validate_mode back from parse_mode_select, instead of always ENOSYS - process all data received from the usb, not just what is in the len field. Reading a VSM file seems to send back more data than the packet indicates tools/javaloader/read_vsm.c: - show vendor id's as strings as well as the number - show record type's as strings as well as the number - add a symlink to the record file with the field name of the record - plug a memory leak writing the record files --- NEW FILE: vendor.h --- /* XmBlackBerry, Copyright (C) 2009 Rick Scott <rw...@us...> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef _VENDOR_H #define _VENDOR_H #define VENDOR_LIST \ VENDOR_ITEM(0x01, RIM) \ VENDOR_ITEM(0x64, T_MOBILE_US) \ VENDOR_ITEM(0x65, CINGULAR_WIRELESS) \ VENDOR_ITEM(0x66, AT_T_WIRELESS) \ VENDOR_ITEM(0x67, NEXTEL) \ VENDOR_ITEM(0x68, SPRINT_PCS) \ VENDOR_ITEM(0x69, VERIZON_WIRELESS) \ VENDOR_ITEM(0x6a, ALLTEL) \ VENDOR_ITEM(0x6b, ROGERS_AT_T) \ VENDOR_ITEM(0x6c, MICROCELL) \ VENDOR_ITEM(0x6d, BELL_MOBILITY) \ VENDOR_ITEM(0x6e, BT_CELLNET) \ VENDOR_ITEM(0x6f, O2_GERMANY) \ VENDOR_ITEM(0x70, DIGIFONE) \ VENDOR_ITEM(0x71, TELFORT) \ VENDOR_ITEM(0x72, T_MOBILE_GERMANY_AUSTRIA) \ VENDOR_ITEM(0x73, TIM_ITALY) \ VENDOR_ITEM(0x74, HUTCHISON) \ VENDOR_ITEM(0x75, BOUYGUES_TELECOM) \ VENDOR_ITEM(0x76, VODAFONE_SFR_FRANCE) \ VENDOR_ITEM(0x77, ORANGE_FRANCE) \ VENDOR_ITEM(0x78, VODAFONE_UK_NETHERLANDS) \ VENDOR_ITEM(0x79, TELCEL_MEXICO) \ VENDOR_ITEM(0x7a, TELSTRA) \ VENDOR_ITEM(0x7b, T_MOBILE_UK) \ VENDOR_ITEM(0x7c, VODAFONE_GERMANY) \ VENDOR_ITEM(0x7d, O2_UK_IRELAND_ISLE_OF_MAN_NETHERLANDS) \ VENDOR_ITEM(0x7e, TELUS) \ VENDOR_ITEM(0x7f, SMART) \ VENDOR_ITEM(0x80, STARHUB) \ VENDOR_ITEM(0x81, TELEFONICA_SPAIN) \ VENDOR_ITEM(0x82, VODAFONE_SWITZERLAND_SWISSCOM) \ VENDOR_ITEM(0x83, CABLE_WIRELESS_WEST_INDIES) \ VENDOR_ITEM(0x84, VODAFONE_ITALY) \ VENDOR_ITEM(0x85, VODAFONE_SPAIN) \ VENDOR_ITEM(0x86, T_MOBILE_NETHERLANDS) \ VENDOR_ITEM(0x87, CINCINNATI_BELL) \ VENDOR_ITEM(0x88, TELEFONICA_MEXICO) \ VENDOR_ITEM(0x89, VODAFONE_AUSTRIA) \ VENDOR_ITEM(0x8a, VODAFONE_AUSTRALIA_FIJI) \ VENDOR_ITEM(0x8b, VODAFONE_IRELAND) \ VENDOR_ITEM(0x8c, TELENOR_SWEDEN) \ VENDOR_ITEM(0x8d, CSL) \ VENDOR_ITEM(0x8e, ORANGE_UK) \ VENDOR_ITEM(0x8f, VODAFONE_NEW_ZEALAND) \ VENDOR_ITEM(0x90, SINGTEL) \ VENDOR_ITEM(0x91, GLOBE) \ VENDOR_ITEM(0x92, OPTUS) \ VENDOR_ITEM(0x93, ORANGE_BE_MOBISTAR) \ VENDOR_ITEM(0x94, VODAFONE_HUNGARY) \ VENDOR_ITEM(0x95, BHARTI) \ VENDOR_ITEM(0x96, KPN_NL) \ VENDOR_ITEM(0x97, WIND_HELLAS_TIM_GREECE) \ VENDOR_ITEM(0x98, VODAFONE_BELGIUM) \ VENDOR_ITEM(0x99, VODAFONE_PORTUGAL) \ VENDOR_ITEM(0x9a, TIM_BRAZIL) \ VENDOR_ITEM(0x9b, BT_MOBILE) \ VENDOR_ITEM(0x9c, EARTHLINK) \ VENDOR_ITEM(0x9d, AETHER) \ VENDOR_ITEM(0x9e, E_PLUS) \ VENDOR_ITEM(0x9f, BASE) \ VENDOR_ITEM(0xa0, DOBSON_COMMUNICATIONS) \ VENDOR_ITEM(0xa1, VODAFONE_EGYPT) \ VENDOR_ITEM(0xa2, ORANGE_SWITZERLAND) \ VENDOR_ITEM(0xa3, RIM_WLAN) \ VENDOR_ITEM(0xa4, T_MOBILE_SUNCOM) \ VENDOR_ITEM(0xa5, MAXIS) \ VENDOR_ITEM(0xa6, VODAFONE_DENMARK_TDC) \ VENDOR_ITEM(0xa7, VODAFONE_SINGAPORE_M1) \ VENDOR_ITEM(0xa8, VODACOM_SOUTH_AFRICA) \ VENDOR_ITEM(0xa9, T_MOBILE_POLAND) \ VENDOR_ITEM(0xaa, T_MOBILE_CZECH) \ VENDOR_ITEM(0xab, T_MOBILE_HUNGARY) \ VENDOR_ITEM(0xac, AT_T_SPRINT) \ VENDOR_ITEM(0xad, MTN_SOUTH) \ VENDOR_ITEM(0xae, TIM_CHILE_ENTEL_PCS) \ VENDOR_ITEM(0xaf, ORANGE_SPAIN) \ VENDOR_ITEM(0xb0, VODAFONE_SMARTONE_HONG_KONG) \ VENDOR_ITEM(0xb1, TCS_TELECOMMUNICATION_SYSTEMS) \ VENDOR_ITEM(0xb2, AVEA) \ VENDOR_ITEM(0xb3, FAST_100) \ VENDOR_ITEM(0xb4, TURKCELL) \ VENDOR_ITEM(0xb5, PARTNER_COMMUNICATIONS) \ VENDOR_ITEM(0xb7, ORANGE_ROMANIA) \ VENDOR_ITEM(0xba, TELKOMSEL) \ VENDOR_ITEM(0xbc, VODAFONE_GREECE) \ VENDOR_ITEM(0xbd, UNITED_STATES_CELLULAR_CORP) \ VENDOR_ITEM(0xbe, MOBILINK) \ VENDOR_ITEM(0xbf, VELOCITA_WIRELESS) \ VENDOR_ITEM(0xc0, VODAFONE_CROATIA) \ VENDOR_ITEM(0xc1, VODAFONE_SLOVENIA) \ VENDOR_ITEM(0xc2, VODAFONE_LUXEMBOURG) \ VENDOR_ITEM(0xc3, VODAFONE_ICELAND) \ VENDOR_ITEM(0xc4, VODAFONE_FIJI) \ VENDOR_ITEM(0xc5, VODAFONE_ROMANIA) \ VENDOR_ITEM(0xc6, VODAFONE_CZECH) \ VENDOR_ITEM(0xc7, VODAFONE_BAHRAIN) \ VENDOR_ITEM(0xc8, VODAFONE_KUWAIT) \ VENDOR_ITEM(0xc9, T_MOBILE_CROATIA) \ VENDOR_ITEM(0xca, T_MOBILE_SLOVAKIA) \ VENDOR_ITEM(0xcb, NORTEL) \ VENDOR_ITEM(0xcc, CHINA_MOBILE) \ VENDOR_ITEM(0xcd, MOVILNET) \ VENDOR_ITEM(0xd1, SYMPAC) \ VENDOR_ITEM(0xd2, PERSONAL_ARGENTINA) \ VENDOR_ITEM(0xd4, ETISALAT_UAE) \ VENDOR_ITEM(0xd5, CBEYOND) \ VENDOR_ITEM(0xd6, AMX) \ VENDOR_ITEM(0xd7, TELEFONICA_VENEZUELA) \ VENDOR_ITEM(0xd8, TELEFONICA_BRAZIL) \ VENDOR_ITEM(0xd9, ORANGE_ROMANIA) \ VENDOR_ITEM(0xda, KTPOWERTEL_KOREA) \ VENDOR_ITEM(0xdb, ROLLING_STONES) \ VENDOR_ITEM(0xdc, DOCOMO) \ VENDOR_ITEM(0xde, VODAFONE_BULGARIA) \ VENDOR_ITEM(0xdf, NEXTEL_INTERNATIONAL) \ VENDOR_ITEM(0xe0, PCCW_SUNDAY) \ VENDOR_ITEM(0xe1, HAWAIIAN_TELCOM_CREDO_MOBILE) \ VENDOR_ITEM(0xe2, VERIZON_MVNO) \ VENDOR_ITEM(0xe3, MOBILY) \ VENDOR_ITEM(0xe4, BWA) \ VENDOR_ITEM(0xe5, O2_CZECH_REPUBLIC) \ VENDOR_ITEM(0xe6, HUTCHISON_INDIA) \ VENDOR_ITEM(0xe7, CELCOM) \ VENDOR_ITEM(0xea, DIALOG) \ VENDOR_ITEM(0xeb, XL) \ VENDOR_ITEM(0xec, RELIANCE) \ VENDOR_ITEM(0xed, VERIZON_WIRELESS_WHOLESALE) \ VENDOR_ITEM(0xee, VODAFONE_TURKEY) \ VENDOR_ITEM(0xef, TELEFONICA_MOROCCO_MEDITEL) \ VENDOR_ITEM(0xf0, INDOSAT) \ VENDOR_ITEM(0xf1, ALCATEL_SHANGHAI_BELL) \ VENDOR_ITEM(0xf5, 3_UK_ITALY_SWEDEN_DENMARK_AUSTRIA_IRELAND) \ VENDOR_ITEM(0xf7, VODAFONE_ESSAR) \ VENDOR_ITEM(0xf8, CENTENNIAL_WIRELESS) \ VENDOR_ITEM(0xfa, T_MOBILE_AUSTRIA) \ VENDOR_ITEM(0xfe, OI_BRAZIL) \ VENDOR_ITEM(0xff, TELECOM_NEW_ZEALAND) \ VENDOR_ITEM(0x102, HUTCHINSON_3G_AUSTRALIA) \ VENDOR_ITEM(0x103, CABLE_&_WIRELESS_TRINIDAD_TOBAGO) \ VENDOR_ITEM(0x10c, BMOBILE) \ VENDOR_ITEM(0x10d, TATA_TELESERVICES_INDIA) \ VENDOR_ITEM(0x10f, T_MOBILE_CROATIA) \ VENDOR_ITEM(0x111, BT_ITALY) \ VENDOR_ITEM(0x112, 1&1) \ VENDOR_ITEM(0x115, MTS_MOBILITY) \ VENDOR_ITEM(0x116, VIRGIN_MOBILE) \ VENDOR_ITEM(0x118, ORANGE_SLOVAKIA) \ VENDOR_ITEM(0x11a, TAIWAN_MOBILE) \ VENDOR_ITEM(0x11d, ORANGE_AUSTRIA) \ VENDOR_ITEM(0x11e, VODAFONE_MALTA) \ VENDOR_ITEM(0x120, BASE_JIM_MOBILE) \ VENDOR_ITEM(0x127, CMCC_PEOPLES) \ VENDOR_ITEM(0x12a, DIGITEL_WIRELESS) \ VENDOR_ITEM(0x12b, SK_TELECOM) \ VENDOR_ITEM(0x12c, SOLO_MOBILE) \ VENDOR_ITEM(0x12d, CARPHONE_WAREHOUSE) \ VENDOR_ITEM(0x12e, 20:20_MOBILE_GROUP) \ VENDOR_ITEM(0x134, XL_INDONESIA) \ VENDOR_ITEM(0x135, FIDO_SOLUTIONS) \ VENDOR_ITEM(0x136, WIND_ITALY) #endif Index: read_vsm.c =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/tools/javaloader/read_vsm.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** read_vsm.c 26 Feb 2009 00:56:35 -0000 1.1 --- read_vsm.c 16 Oct 2010 12:45:09 -0000 1.2 *************** *** 32,35 **** --- 32,37 ---- #include "util.h" + #include "vendor.h" + #include "vsm_record.h" typedef struct vsm_rec { *************** *** 86,89 **** --- 88,129 ---- } + static char * + VendorId2String(short id) + { + char *ret; + + #define VENDOR_ITEM(id, name, ...) case id: ret = #name; break; + + switch (id) + { + VENDOR_LIST + default: + ret = "UNKNOWN"; + break; + } + + #undef VENDOR_ITEM + return(ret); + } + + static char * + RecordId2String(short id) + { + char *ret; + + #define VSM_RECORD_ITEM(id, name, ...) case id: ret = #name; break; + + switch (id) + { + VSM_RECORD_LIST + default: + ret = "UNKNOWN"; + break; + } + + #undef VSM_RECORD_ITEM + return(ret); + } + int main(int argc, char *argv[]) *************** *** 116,122 **** vendor_id =+ (vendor_id << 8) + hdr[12]; ! DEBUG(0, "%s len = %i(0x%08x) vendor = %i(0x%04x)\n", argv[1], len, len, vendor_id, vendor_id); dump_hex("CRC", &hdr[8], 4); --- 156,163 ---- vendor_id =+ (vendor_id << 8) + hdr[12]; ! DEBUG(0, "%s len = %i(0x%08x) vendor = \"%s\" %i(0x%04x)\n", argv[1], len, len, + VendorId2String(vendor_id), vendor_id, vendor_id); dump_hex("CRC", &hdr[8], 4); *************** *** 143,147 **** rec->len =+ (rec->len << 8) + rec_hdr[2]; to_read = rec->len + (rec->len % 2); ! DEBUG(0, "tag 0x%04x len 0x%04x %i left %i(0x%04x)\n", rec->tag, rec->len, rec->len % 2, len - sizeof(rec_hdr), len - sizeof(rec_hdr)); --- 184,189 ---- rec->len =+ (rec->len << 8) + rec_hdr[2]; to_read = rec->len + (rec->len % 2); ! DEBUG(0, "tag \"%s\"(0x%04x) len 0x%04x %i left %i(0x%04x)\n", ! RecordId2String(rec->tag), rec->tag, rec->len, rec->len % 2, len - sizeof(rec_hdr), len - sizeof(rec_hdr)); *************** *** 160,163 **** --- 202,206 ---- { char *rfile; + char *rfile_link; int rfile_fd; *************** *** 167,173 **** --- 210,222 ---- close(rfile_fd); free(rfile); + asprintf(&rfile, "%04x", rec->tag); + asprintf(&rfile_link, "%s/%s", vsm_dir, RecordId2String(rec->tag)); + symlink(rfile, rfile_link); + free(rfile); + free(rfile_link); } } len -= to_read + sizeof(rec_hdr); + free(rec->value); } else *************** *** 182,185 **** --- 231,235 ---- crc); free(vsm_dir); + free(records); } else Index: Makefile.am =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/tools/javaloader/Makefile.am,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** Makefile.am 10 May 2009 15:45:14 -0000 1.17 --- Makefile.am 16 Oct 2010 12:45:09 -0000 1.18 *************** *** 9,13 **** noinst_PROGRAMS = ecode create_vsm read_vsm ! noinst_HEADERS = bsn.h erase.h load.h zip.h spl.h vsm.h eventlog.h set-time.h save.h screenshot.h dir.h info.h javaloader.h util.h javaloader_SOURCES = bsn.c erase.c load.c spl.c vsm.c eventlog.c set-time.c save.c screenshot.c dir.c info.c javaloader.c util.c javaloader_LDADD = @Z_LIBS@ --- 9,13 ---- noinst_PROGRAMS = ecode create_vsm read_vsm ! noinst_HEADERS = vsm_record.h vendor.h bsn.h erase.h load.h zip.h spl.h vsm.h eventlog.h set-time.h save.h screenshot.h dir.h info.h javaloader.h util.h javaloader_SOURCES = bsn.c erase.c load.c spl.c vsm.c eventlog.c set-time.c save.c screenshot.c dir.c info.c javaloader.c util.c javaloader_LDADD = @Z_LIBS@ --- NEW FILE: vsm_record.h --- /* XmBlackBerry, Copyright (C) 2009 Rick Scott <rw...@us...> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef _VSM_RECORD_H #define _VSM_RECORD_H #define VSM_RECORD_LIST \ VSM_RECORD_ITEM(0x0, FIELD_BITMAP_1_DATA) \ VSM_RECORD_ITEM(0x1, FIELD_BITMAP_1_TIMEOUT) \ VSM_RECORD_ITEM(0x2, FIELD_BITMAP_2_DATA) \ VSM_RECORD_ITEM(0x10, FIELD_ENGINEERING_UNIT) \ VSM_RECORD_ITEM(0x11, FIELD_SUPPRESS_SOS) \ VSM_RECORD_ITEM(0x13, FIELD_BETA_TEST) \ VSM_RECORD_ITEM(0x14, FIELD_EVALUATION_UNIT) \ VSM_RECORD_ITEM(0x15, FIELD_SUPPORT_DIRECT_DIAL_SEND) \ VSM_RECORD_ITEM(0x16, FIELD_ONS_RENDER_MODE) \ VSM_RECORD_ITEM(0x17, FIELD_DISABLE_VOLUME_BOOST) \ VSM_RECORD_ITEM(0x18, FIELD_DISABLE_BLACKBERRY_PROTECTION_MODE) \ VSM_RECORD_ITEM(0x1000, FIELD_WELCOME_MESSAGE_SUBJECT_ISO8859) \ VSM_RECORD_ITEM(0x1001, FIELD_WELCOME_MESSAGE_BODY_ISO8859) \ VSM_RECORD_ITEM(0x1002, FIELD_WELCOME_MESSAGE_FROM_ISO8859) \ VSM_RECORD_ITEM(0x1003, FIELD_WELCOME_MESSAGE_SUBJECT) \ VSM_RECORD_ITEM(0x1004, FIELD_WELCOME_MESSAGE_BODY) \ VSM_RECORD_ITEM(0x1005, FIELD_WELCOME_MESSAGE_FROM) \ VSM_RECORD_ITEM(0x1100, FIELD_DEVICE_MESSAGE_SUBJECT) \ VSM_RECORD_ITEM(0x1101, FIELD_DEVICE_MESSAGE_BODY) \ VSM_RECORD_ITEM(0x1102, FIELD_DEVICE_MESSAGE_FROM) \ VSM_RECORD_ITEM(0x1200, FIELD_TOP_TIPS_MESSAGE_SUBJECT) \ VSM_RECORD_ITEM(0x1201, FIELD_TOP_TIPS_MESSAGE_BODY) \ VSM_RECORD_ITEM(0x1202, FIELD_TOP_TIPS_MESSAGE_FROM) \ VSM_RECORD_ITEM(0x2000, FIELD_ESCREEN_HELP_MSG) \ VSM_RECORD_ITEM(0x3000, FIELD_PROVISIONING_IP) \ VSM_RECORD_ITEM(0x3001, FIELD_PROVISIONING_DEST_PORT) \ VSM_RECORD_ITEM(0x3002, FIELD_PROVISIONING_SRC_PORT) \ VSM_RECORD_ITEM(0x3003, FIELD_PROVISIONING_APN) \ VSM_RECORD_ITEM(0x3004, FIELD_PROVISIONING_DEVICE_CLASS) \ VSM_RECORD_ITEM(0x3005, FIELD_PROVISIONING_APN_USERNAME) \ VSM_RECORD_ITEM(0x3006, FIELD_PROVISIONING_APN_PASSWORD) \ VSM_RECORD_ITEM(0x3007, FIELD_PROVISIONING_FLAGS) \ VSM_RECORD_ITEM(0x3100, FIELD_2ND_PROVISIONING_IP) \ VSM_RECORD_ITEM(0x3101, FIELD_2ND_PROVISIONING_DEST_PORT) \ VSM_RECORD_ITEM(0x3102, FIELD_2ND_PROVISIONING_SRC_PORT) \ VSM_RECORD_ITEM(0x3103, FIELD_2ND_PROVISIONING_APN) \ VSM_RECORD_ITEM(0x3104, FIELD_2ND_PROVISIONING_DEVICE_CLASS) \ VSM_RECORD_ITEM(0x3105, FIELD_2ND_PROVISIONING_APN_USERNAME) \ VSM_RECORD_ITEM(0x3106, FIELD_2ND_PROVISIONING_APN_PASSWORD) \ VSM_RECORD_ITEM(0x3107, FIELD_2ND_PROVISIONING_FLAGS) \ VSM_RECORD_ITEM(0x3500, TCP_APN_DEFAULT_APNNAME) \ VSM_RECORD_ITEM(0x3501, TCP_APN_DEFAULT_USERNAME) \ VSM_RECORD_ITEM(0x3502, TCP_APN_DEFAULT_PASSWORD) \ VSM_RECORD_ITEM(0x3600, FIELD_CDMA_IIF_APN) \ VSM_RECORD_ITEM(0x3601, FIELD_CDMA_IIF_APN_USERNAME) \ VSM_RECORD_ITEM(0x3602, FIELD_CDMA_IIF_APN_PASSWORD) \ VSM_RECORD_ITEM(0x3800, FIELD_PRIMARY_WIRELESS_ACCESS_FAMILY) \ VSM_RECORD_ITEM(0x4000, FIELD_BRANDING_WAP_ICON) \ VSM_RECORD_ITEM(0x4001, FIELD_BRANDING_TUNE) \ VSM_RECORD_ITEM(0x4002, FIELD_BRANDING_TUNE_NAME) \ VSM_RECORD_ITEM(0x4003, FIELD_BRANDING_KEY) \ VSM_RECORD_ITEM(0x4004, FIELD_BRANDING_TUNE_MIDI) \ VSM_RECORD_ITEM(0x4005, FIELD_BRANDING_WAP_SPLASH) \ VSM_RECORD_ITEM(0x4006, FIELD_BRANDING_TUNE_CONTENT_DATA) \ VSM_RECORD_ITEM(0x4007, FIELD_BRANDING_TUNE_CONTENT_TYPE) \ VSM_RECORD_ITEM(0x4100, FIELD_BRANDING_BROWSER_ICON_0) \ VSM_RECORD_ITEM(0x4101, FIELD_BRANDING_BROWSER_ICON_1) \ VSM_RECORD_ITEM(0x4102, FIELD_BRANDING_BROWSER_ICON_2) \ VSM_RECORD_ITEM(0x4103, FIELD_BRANDING_BROWSER_ICON_3) \ VSM_RECORD_ITEM(0x4104, FIELD_BRANDING_BROWSER_ICON_4) \ VSM_RECORD_ITEM(0x4105, FIELD_BRANDING_BROWSER_ICON_5) \ VSM_RECORD_ITEM(0x4106, FIELD_BRANDING_BROWSER_ICON_6) \ VSM_RECORD_ITEM(0x4107, FIELD_BRANDING_BROWSER_ICON_7) \ VSM_RECORD_ITEM(0x4108, FIELD_BRANDING_BROWSER_ICON_8) \ VSM_RECORD_ITEM(0x4109, FIELD_BRANDING_BROWSER_ICON_9) \ VSM_RECORD_ITEM(0x4200, FIELD_IDLESCREEN_CONTENT_TYPE) \ VSM_RECORD_ITEM(0x4201, FIELD_IDLESCREEN_CONTENT_DATA) \ VSM_RECORD_ITEM(0x4202, FIELD_BRANDING_IGNORE_INTEL_SPLASH) \ VSM_RECORD_ITEM(0x4300, FIELD_BROWSER_UAPROF_URI) \ VSM_RECORD_ITEM(0x5000, FIELD_HELP_WMLC) \ VSM_RECORD_ITEM(0x5100, FIELD_PREFERRED_PLMN_FEATURE) \ VSM_RECORD_ITEM(0x5200, PHONE_BOOT_URL) \ VSM_RECORD_ITEM(0x5201, PHONE_BOOT_NAIURL) \ VSM_RECORD_ITEM(0x5202, BROWSER_DOMAIN_TRUSTED) \ VSM_RECORD_ITEM(0x5203, BROWSER_PROXY_WDP) \ VSM_RECORD_ITEM(0x5300, FIELD_CELL_BROADCAST) \ VSM_RECORD_ITEM(0x5301, FIELD_CELL_BROADCAST_ALWAYS_POPUP) \ VSM_RECORD_ITEM(0x6000, FIELD_MESSAGE_LIST_OPTIONS_AUTO_ATTACHMENT_DOWNLOAD_ENABLED) \ VSM_RECORD_ITEM(0x6001, FIELD_MESSAGE_LIST_OPTIONS_AUTO_ATTACHMENT_DOWNLOAD) \ VSM_RECORD_ITEM(0x6002, FIELD_MESSAGE_LIST_OPTIONS_AUTO_ATTACHMENT_DOWNLOAD_HIGH_SPEED_NETWORK) \ VSM_RECORD_ITEM(0x7000, FIELD_OMA_CLIENT_PROVISIONING_DOCUMENT) \ VSM_RECORD_ITEM(0x7010, FIELD_GAN_SECURE_GATEWAY) \ VSM_RECORD_ITEM(0x7011, FIELD_GAN_CONTROLLER) \ VSM_RECORD_ITEM(0x7020, FIELD_GAN_ROOT_CERT_1) \ VSM_RECORD_ITEM(0x7021, FIELD_GAN_ROOT_CERT_2) \ VSM_RECORD_ITEM(0x7022, FIELD_GAN_ROOT_CERT_3) \ VSM_RECORD_ITEM(0x7023, FIELD_GAN_ROOT_CERT_4) \ VSM_RECORD_ITEM(0x7026, FIELD_GAN_WLAN_THRESHOLD) \ VSM_RECORD_ITEM(0x7027, FIELD_GAN_SIGNAL_STRENGTH_THRESHOLD) \ VSM_RECORD_ITEM(0x7028, FIELD_GAN_SIGNAL_QUALITY_THRESHOLD) \ VSM_RECORD_ITEM(0x7029, FIELD_GAN_PROTOCOL_VERSION) \ VSM_RECORD_ITEM(0x7030, FIELD_WLAN_DISABLED) \ VSM_RECORD_ITEM(0x7031, FIELD_WLAN_ENTERPRISE_DATA_DISABLED) \ VSM_RECORD_ITEM(0x7032, FIELD_WLAN_ENTERPRISE_DATA_FLAG_OVERRIDES_IT_POLICY) \ VSM_RECORD_ITEM(0x7033, FIELD_WLAN_LAYER3_AUTH_KEY) #define PROVISIONING_FLAG_LIST \ PROVISIONING_FLAG_ITEM(0x1, FLAG_PROVISIONING_DONT_SEND_MSISDN) \ PROVISIONING_FLAG_ITEM(0x2, FLAG_PROVISIONING_DONT_SEND_ICCID) \ PROVISIONING_FLAG_ITEM(0x4, FLAG_PROVISIONING_SEND_SPN) \ PROVISIONING_FLAG_ITEM(0x8, FLAG_PROVISIONING_RIM) \ PROVISIONING_FLAG_ITEM(0x10, FLAG_PROVISIONING_SEND_EMPLOYEE_ROLE_FEATURE_INFO) \ PROVISIONING_FLAG_ITEM(0x20, FLAG_PROVISIONING_DONT_SEND_AIRTIME_USAGE_STATS) \ PROVISIONING_FLAG_ITEM(0x40, FLAG_PROVISIONING_INFO_LEVEL_1) \ PROVISIONING_FLAG_ITEM(0x80, FLAG_PROVISIONING_INFO_LEVEL_2) #define WIRELESS_ACCESS_LIST \ WIRELESS_ACCESS_ITEM(0x1, WAF_3GPP) \ WIRELESS_ACCESS_ITEM(0x2, WAF_CDMA) \ WIRELESS_ACCESS_ITEM(0x3, WAF_WLAN) \ WIRELESS_ACCESS_ITEM(0x4, WAF_IDEN) #define PREFFERED_PLMN_LIST \ PREFERRED_PLMN_ITEM(0x0, VALUE_PREFERRED_PLMN_DISABLED) \ PREFERRED_PLMN_ITEM(0x1, VALUE_PREFERRED_PLMN_ENABLED) #define GAN_WLAN_THRESHOLD_LIST \ GAN_WLAN_THRESHOLD_ITEM(0x0, VALUE_GAN_ROVE_THRESHOLD_LOW) \ GAN_WLAN_THRESHOLD_ITEM(0x1, VALUE_GAN_ROVE_THRESHOLD_MEDIUM) \ GAN_WLAN_THRESHOLD_ITEM(0x2, VALUE_GAN_ROVE_THRESHOLD_HIGH) #define GAN_PROTOCOL_VERSION_LIST \ GAN_PROTOCOL_VERSION_ITEM(0x0, VALUE_GAN_PROTOCOL_VERSION_UMA_1_0_0) \ GAN_PROTOCOL_VERSION_ITEM(0x1, VALUE_GAN_PROTOCOL_VERSION_UMA_1_0_1) \ GAN_PROTOCOL_VERSION_ITEM(0x2, VALUE_GAN_PROTOCOL_VERSION_UMA_1_0_2) \ GAN_PROTOCOL_VERSION_ITEM(0x3, VALUE_GAN_PROTOCOL_VERSION_UMA_1_0_3) \ GAN_PROTOCOL_VERSION_ITEM(0x4, VALUE_GAN_PROTOCOL_VERSION_UMA_1_0_4) \ GAN_PROTOCOL_VERSION_ITEM(0x5, VALUE_GAN_PROTOCOL_VERSION_3GPP_rev6) #endif |
From: Rick S. <rw...@us...> - 2010-10-16 12:45:17
|
Update of /cvsroot/xmblackberry/XmBlackBerry/kernel In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv329/kernel Modified Files: caltask.c init.c Log Message: XmBlackBerry.c: - take "/"'s out of database filenames. - 64 bit clean-up buffer.c: - protection from pulling too much from a buffer head - 64 bit clean-up serial.c: - process the serial buffer a little more itelligently - set close on exec so that the sync process will not keep the device file open. util.c: - 64 bit clean-up gprs_protocol_fix/gprs_protocol_fix.c: - 64 bit clean-up kernel/caltask.c: - comment on the two new caltask channels kernel/init.c: - pass the result of validate_mode back from parse_mode_select, instead of always ENOSYS - process all data received from the usb, not just what is in the len field. Reading a VSM file seems to send back more data than the packet indicates tools/javaloader/read_vsm.c: - show vendor id's as strings as well as the number - show record type's as strings as well as the number - add a symlink to the record file with the field name of the record - plug a memory leak writing the record files Index: init.c =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/kernel/init.c,v retrieving revision 1.59 retrieving revision 1.60 diff -C2 -d -r1.59 -r1.60 *** init.c 30 Aug 2010 22:09:42 -0000 1.59 --- init.c 16 Oct 2010 12:45:09 -0000 1.60 *************** *** 1119,1143 **** socket = (socket << 8) + data[1]; socket = (socket << 8) + data[0]; ! if (validate_mode(&blackberry_device->desktop, socket, &data[2]) == 0) { } ! else if (validate_mode(&blackberry_device->loader, socket, &data[2]) == 0) { } ! else if (validate_mode(&blackberry_device->ftp, socket, &data[2]) == 0) { } ! else if (validate_mode(&blackberry_device->caltask, socket, &data[2]) == 0) { } ! else if (validate_mode(&blackberry_device->jvmdebug, socket, &data[2]) == 0) { } ! else if (validate_mode(&blackberry_device->bootload, socket, &data[2]) == 0) { } else { ! ret = -ENOSYS; err("%s(%d) - %08x Mode \"%s\" not available on 0x%04x", __FUNCTION__, __LINE__, blackberry_device->pin, &data[3], socket); --- 1119,1143 ---- socket = (socket << 8) + data[1]; socket = (socket << 8) + data[0]; ! if ((ret = validate_mode(&blackberry_device->desktop, socket, &data[2])) == 0) { } ! else if ((ret = validate_mode(&blackberry_device->loader, socket, &data[2])) == 0) { } ! else if ((ret = validate_mode(&blackberry_device->ftp, socket, &data[2])) == 0) { } ! else if ((ret = validate_mode(&blackberry_device->caltask, socket, &data[2])) == 0) { } ! else if ((ret = validate_mode(&blackberry_device->jvmdebug, socket, &data[2])) == 0) { } ! else if ((ret = validate_mode(&blackberry_device->bootload, socket, &data[2])) == 0) { } else { ! //ret = -ENOSYS; err("%s(%d) - %08x Mode \"%s\" not available on 0x%04x", __FUNCTION__, __LINE__, blackberry_device->pin, &data[3], socket); *************** *** 1656,1662 **** len = (len << 8) + rx_data[3]; len = (len << 8) + rx_data[2]; ! if (len == urb->actual_length) { ret = process_input(blackberry_device, socket, len - 4, &rx_data[4]); if (ret) { --- 1656,1666 ---- len = (len << 8) + rx_data[3]; len = (len << 8) + rx_data[2]; ! if (len <= urb->actual_length) { + #if 0 ret = process_input(blackberry_device, socket, len - 4, &rx_data[4]); + #else + ret = process_input(blackberry_device, socket, urb->actual_length - 4, &rx_data[4]); + #endif if (ret) { Index: caltask.c =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/kernel/caltask.c,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** caltask.c 5 Apr 2009 09:40:40 -0000 1.12 --- caltask.c 16 Oct 2010 12:45:09 -0000 1.13 *************** *** 134,137 **** --- 134,139 ---- } caltask->mode = "RIM Cal task"; + //caltask->mode = "Caltask Config"; + //caltask->mode = "Caltask Secure"; caltask->write = process_buffer; caltask->send_packet = caltask_send_packet; |
From: Rick S. <rw...@us...> - 2010-10-16 12:45:17
|
Update of /cvsroot/xmblackberry/XmBlackBerry/gprs_protocol_fix In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv329/gprs_protocol_fix Modified Files: gprs_protocol_fix.c Log Message: XmBlackBerry.c: - take "/"'s out of database filenames. - 64 bit clean-up buffer.c: - protection from pulling too much from a buffer head - 64 bit clean-up serial.c: - process the serial buffer a little more itelligently - set close on exec so that the sync process will not keep the device file open. util.c: - 64 bit clean-up gprs_protocol_fix/gprs_protocol_fix.c: - 64 bit clean-up kernel/caltask.c: - comment on the two new caltask channels kernel/init.c: - pass the result of validate_mode back from parse_mode_select, instead of always ENOSYS - process all data received from the usb, not just what is in the len field. Reading a VSM file seems to send back more data than the packet indicates tools/javaloader/read_vsm.c: - show vendor id's as strings as well as the number - show record type's as strings as well as the number - add a symlink to the record file with the field name of the record - plug a memory leak writing the record files Index: gprs_protocol_fix.c =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/gprs_protocol_fix/gprs_protocol_fix.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** gprs_protocol_fix.c 29 May 2008 23:04:47 -0000 1.8 --- gprs_protocol_fix.c 16 Oct 2010 12:45:09 -0000 1.9 *************** *** 105,109 **** else { ! fprintf(stderr, "%s:%s(%d) - Wrote %i instead of %i to stdin.\n", __FILE__, __FUNCTION__, __LINE__, written, num); --- 105,109 ---- else { ! fprintf(stderr, "%s:%s(%d) - Wrote %zi instead of %zi to stdin.\n", __FILE__, __FUNCTION__, __LINE__, written, num); *************** *** 156,160 **** else { ! fprintf(stderr, "%s:%s(%d) - Wrote %i instead of %i to \"%s\".\n", __FILE__, __FUNCTION__, __LINE__, written, num, --- 156,160 ---- else { ! fprintf(stderr, "%s:%s(%d) - Wrote %zi instead of %zi to \"%s\".\n", __FILE__, __FUNCTION__, __LINE__, written, num, *************** *** 175,179 **** else { ! fprintf(stderr, "%s:%s(%d) - Wrote %i instead of %i to \"%s\".\n", __FILE__, __FUNCTION__, __LINE__, written, num, --- 175,179 ---- else { ! fprintf(stderr, "%s:%s(%d) - Wrote %zi instead of %zi to \"%s\".\n", __FILE__, __FUNCTION__, __LINE__, written, num, |
From: Rick S. <rw...@us...> - 2010-09-11 12:45:22
|
Update of /cvsroot/xmblackberry/XmBlackBerry/WebApps/golf/html In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv10321 Modified Files: golf Log Message: Show the distance from Me to the Cursor. Helps to calculate how long a layup should be. Index: golf =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/WebApps/golf/html/golf,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** golf 13 Aug 2010 11:39:22 -0000 1.27 --- golf 11 Sep 2010 12:45:13 -0000 1.28 *************** *** 1060,1063 **** --- 1060,1064 ---- var fromTee; var toGreen; + var fromMe; var point; var scale = 1 << game.map.getZoom(); *************** *** 1072,1077 **** --- 1073,1080 ---- fromTee = window.distance(point.lat(), point.lng(), game.courseList.holes[hole].tee.lat, game.courseList.holes[hole].tee.lon); toGreen = window.distance(point.lat(), point.lng(), game.courseList.holes[hole].green.lat, game.courseList.holes[hole].green.lon); + fromMe = window.distance(point.lat(), point.lng(), game.myMark.getPosition().lat(), game.myMark.getPosition().lng()); game.cursorDistance.cells[1].innerHTML = fromTee.toFixed(1); game.cursorDistance.cells[3].innerHTML = toGreen.toFixed(1); + game.cursorDistance.cells[5].innerHTML = fromMe.toFixed(1); } catch(err) *************** *** 1094,1102 **** --- 1097,1108 ---- var fromTee; var toGreen; + var fromMe; fromTee = window.distance(evt.latLng.lat(), evt.latLng.lng(), game.courseList.holes[hole].tee.lat, game.courseList.holes[hole].tee.lon); toGreen = window.distance(evt.latLng.lat(), evt.latLng.lng(), game.courseList.holes[hole].green.lat, game.courseList.holes[hole].green.lon); + fromMe = window.distance(evt.latLng.lat(), evt.latLng.lng(), game.myMark.getPosition().lat(), game.myMark.getPosition().lng()); game.cursorDistance.cells[1].innerHTML = fromTee.toFixed(1); game.cursorDistance.cells[3].innerHTML = toGreen.toFixed(1); + game.cursorDistance.cells[5].innerHTML = fromMe.toFixed(1); } } *************** *** 3011,3015 **** <td style="padding-right: 5px; white-space: nowrap">from tee</td> <td style="padding-right: 5px"></td> ! <td style="white-space: nowrap">to green</td> </tr> </table> --- 3017,3023 ---- <td style="padding-right: 5px; white-space: nowrap">from tee</td> <td style="padding-right: 5px"></td> ! <td style="padding-right: 5px; white-space: nowrap">to green</td> ! <td style="padding-right: 5px"></td> ! <td style="white-space: nowrap">to me</td> </tr> </table> |
From: Rick S. <rw...@us...> - 2010-08-30 22:16:00
|
Update of /cvsroot/xmblackberry/XmBlackBerry/kernel In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv2801 Modified Files: configure.ac Log Message: Crap too many commas .... Index: configure.ac =================================================================== RCS file: /cvsroot/xmblackberry/XmBlackBerry/kernel/configure.ac,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** configure.ac 30 Aug 2010 22:09:42 -0000 1.10 --- configure.ac 30 Aug 2010 22:15:52 -0000 1.11 *************** *** 149,154 **** AC_MSG_RESULT(yes), AC_MSG_RESULT(no) ! AC_DEFINE([usb_free_coherent], [usb_buffer_free], [Define if kernel < 2.6.35??]), ! AC_DEFINE([usb_alloc_coherent], [usb_buffer_alloc], [Define if kernel < 2.6.35??]), ) --- 149,154 ---- AC_MSG_RESULT(yes), AC_MSG_RESULT(no) ! AC_DEFINE([usb_free_coherent], [usb_buffer_free], [Define if kernel < 2.6.35??]) ! AC_DEFINE([usb_alloc_coherent], [usb_buffer_alloc], [Define if kernel < 2.6.35??]) ) |