shlist

share and manage lists between multiple people
Log | Files | Refs

commit eecb083cf9464cf18b568d5779f1395a2fcafc5b
parent 4de12658cc7ba7b2c704449cb63e778b65b15529
Author: kyle <kyle@getaddrinfo.net>
Date:   Sat, 21 Nov 2015 12:39:54 -0700

gen_msgs: finally get perl generation right

- sl can now use automatically generated functions

Diffstat:
Mgen_msgs.sh | 9+++------
Msl | 8+++++---
2 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/gen_msgs.sh b/gen_msgs.sh @@ -12,7 +12,7 @@ MSG_TYPES="new_device ok" OBJC_PATH="ios/shlist/MsgTypes.h" -PERL_PATH="msgs.pm" +PERL_PATH="msgs.pl" JAVA_PATH="android/shlist/app/src/main/java/drsocto/shlist/MsgTypes.java" SHELL_PATH="tests/msgs.sh" @@ -58,15 +58,12 @@ EOF # server and test suite gen_perl() { cat << EOF > $PERL_PATH +#!/usr/bin/perl # ${GENERATED_AT} -package msgs; use strict; use warnings; -use Exporter qw(import); -our @EXPORT = qw(%msg_num @msg_str @msg_func \$protocol_version); - -our \$protocol_version = $PROTOCOL_VERSION; +our \$protocol_ver = $PROTOCOL_VERSION; EOF print_table $PERL_PATH "our %msg_num = (" "\t\$msg => \$i," ");" print_table $PERL_PATH "our @msg_str = (" "\t'\$msg'," ");" diff --git a/sl b/sl @@ -8,11 +8,13 @@ use DBI; use Digest::SHA qw(sha256_base64); use Getopt::Std; use IO::Socket qw(getnameinfo NI_NUMERICHOST NI_NUMERICSERV); -use msgs; use POSIX; use Scalar::Util qw(looks_like_number); use Socket; +require "msgs.pl"; +our (%msg_num, @msg_str, @msg_func, $protocol_ver); + my $LOG_LEVEL_ERROR = 0; my $LOG_LEVEL_WARN = 1; my $LOG_LEVEL_INFO = 2; @@ -215,7 +217,7 @@ while (my ($new_sock, $bin_addr) = $sock->accept()) { $child_dbh->begin_work; # call the appropriate handler - $msg_handlers[$msg_type]->($child_dbh, $new_sock, $addr." $msgs{$msg_type}", $msg); + $msg_func[$msg_type]->($child_dbh, $new_sock, $addr." $msg_str[$msg_type]", $msg); $child_dbh->commit; # commit the changes if we get this far if ($@) { @@ -410,7 +412,7 @@ sub msg_add_friend # print "$addr: added friend $_\n"; my $out = "$friend"; - print $new_sock pack("nn", $msgs{add_friend}, length($out)); + print $new_sock pack("nn", $msg_num{add_friend}, length($out)); print $new_sock $out; }