But to demand I remove a file off my personal hard drive because it is in violation of their Acceptable Use?
Eh? They're not demanding that you remove it from your hard drive. They're demanding that you "remove the allegedly infringing works from the Service". In other words stop providing access to them over the Comcast network.
I am unsure about the term "unconscionable", since the terms are more liberal than the default ones. I.e, the software cannot be used at all since loading it into memory violates the default rights you have under current copyright law, and I am not forcing anybody to accept my terms.
The other point I have missed is the following:
I have been a professional programmer for nearly 15 years. During that time I have been paid by various corporate entities to produce code for all this time. At no time was a single piece of code I produced ever sold (or given away). I would daresay that a large amount of that code is not even still in use, indeed much of what I produce is intended for only a single use (conversion type procedures). Yet the companies I worked for were more than content to pay my salary, and provide me with all the usual benefits.
How does your argument apply to software that is provided for internal corporate use? I could frequently end up writing the same application over and over for different companies, yet they continue to pay me. My employers have no expectation of ever realizing any direct revenue from my work at all. Not that anybody would ever be interested in such code, but the question remains.
The other interesting question that occurs is what would happen if the GPL were to be struck down? What if it were ruled unenforcable in it's entirety? What sort of remedy might the courts construct? Certainly the right of the licensee wouldn't revert to the default, since that is no right to use the code at all. What about if it would be found to be only partial unenforcable? I suppose that would depend on which part were to be found unenforcable.
Doh! I just realized this discussion is 24 hours old, but I'm posting anyway. *sigh*
If you're still using Netscape 4... well... popup ads should be bliss for you since you obviously like pain.
Or lack the cash to buy a newer than two year old machine. I put Netscape 6 on my wife's 32MB P-333 laptop. After loading two (2) pages in ten (10) minutes, off it came.
ICANN connection, what's your function?
Hookin' up hubs and routers and switches
ICANN connection, how's that function?
I got three favorite domains
That get most of my job done
Conjunction junction what's their function?
I got com, net n' org, they get you pretty far
SPOKEN:(Com, that's commercial, like a business.
Net - well, that's sort of the connected.
Not group, BUT company. And then there's org, O-R-G.
When you got a group or an organization.
COM, NET, and ORG, they get you pretty far!)
ICANN connection, what's your function?
Hookin' up ISP's and making 'em run right
Buy and sell, sales and support, rise and fall,
Hey that's all
AOL but luser, DSL and broadband,
Losin' your money and a packet or two
He was older but wiser, sad but true!
Boo hoo, hoo hoo, hoo
ICANN connection, what's your function?
Hookin' up two ISP's to one
When you got something like this choice:
Multi-homed or single
Or no choice:
Neither DSL nor cable!
Hey that's terrible!
D/l this or that-, view J-peg or png-
I bet you now I'm too remote as it is!
ICANN connection, what's your function?
Hookin' up routers and switches that bridge like:
Out of the firewall and into the DDOS
He emailed the lug-list
but the spam wouldn't go any farther
(Yeah)
Let's go listen to Napster or
Down load the MP3
You should always say, "thank you"
Or at least say "please".
Conjunction junction what's your function?
Hookin' up words and phrases and clauses
In complex protocols like:
SPOKEN:(through the router, off the bridge,
past the firewall..... Nothing but Net
Where I often encounter a hack and a crack,
And I ask myself as I surf by
Just what they'd say if they could speak,
Although I know that that's an absurd thought.)
ICANN connection, what's your function?
Hookin' up hubs and routers and switches
ICANN connection, hows that function?
I like tyin' up ISP's and makin 'em run right
ICANN connection, what's your function?
I'm gonna get you if you're not very careful...
Yeah yeah, yeah yeah, yeah yeah
ICANN connection
ICANN connection
ICANN connection
ICANN connection
ICANN connection
ICANN connection
Ooh yeah
Alan Greenspan prefers to let the surplus build as his first preference, but the second preference is to return it to the public
Yet I recognize that growing budget surpluses may be politically infeasible to defend. If this proves to be the case, as I have also testified previously, the likelihood of maintaining a still satisfactory overall budget position over the longer run is greater, I believe, if surpluses are used to lower tax rates rather than to embark on new spending programs. History illustrates the difficulties of keeping spending in check, especially in programs that are open-ended commitments, which too often have led to larger outlays than initially envisioned. Decisions to reduce taxes, however, are more likely to be contained by the need to maintain an adequate revenue base to finance necessary government services. Moreover, especially if designed to lower marginal rates, tax reductions can offer favorable incentives for economic performance.
from Testimony of Chairman Alan Greenspan, The Federal Reserve's semiannual report on the economy and monetary policy, Before the Committee on Banking and Financial Services, U.S. House of Representatives, February 17, 2000 2nd paragraph from the bottom.
First of all there is no surplus! According to The Bureau of the Public Debt, the debt is still increasing. $20 billion for the year just ended, and $130 billion for the previous year. Perhaps a surplus will finally show up next year. Alan Greenspan did say that the first priority should be to reduce the federal debt. His second choice, however, was a tax-cut, rather than increased federal spending.
As far as spending the money on a tax-cut, that is a non-meaningful statement. A tax-cut would mean that the money was never collected, and could never, therefore, be spent. Where is that money now? I have not paid it. How can "letting me keep more of the money I earn" be called "spending".
As for the tax cut benefitting the wealthies 10 percent the most, almost any tax-cut is going to do that, unless it has a "cap". I would bet if the following tax-cut was implemented, the top 10 percent would still see the most benefit by dollar value
top 10% - 10% tax-cut - pays over million, so saves $100,000
10-20% - 20% tax-cut - pays around $100,000, so saves $20,000
20-30% - 30% tax-cut - pays $10,000, so saves $3,000
...
70-80% - 80% tax-cut - pays $1,000, so saves $800
80-90% - 90% tax-cut - pays $100, so saves $90
bottom 10% - 100% tax-cut - already pays nothing, so saves nothing
You're still ignoring the fact that DC had a license agreement that everyone here was aware of before they picked up their CueCat
Yes, but what you are forgetting is that I and did/do not agree to the contract. The contract may very well specifiy what I can or cannot do if I don't agree to it, but I did not agree to those terms. If I didn't agree to the contract, I am not bound to it. When I an not bound to a contract, then I am bound by Federal and state and local law. That law says that I can write a driver, take it apart, or do whatever else I wish, as long as I comply with any intellectual property rights they may still have.
Maybe I wasn't clear. These are all activities that my examples stated are things that government/society/corporate are beginning to attempt to prevent me from participating in. These are activities I wish to engage in, but new techonology is aimed at preventing me from participating in. Books that I can no longer read because they have expired. Software that I can no longer write because I am too busy defending myself in court. Behaviour I can no long critize because I have been silenced by the misbehavors. Movies I can no longer view, because I don't have the "approved" viewer. Private email conversations that I can no longer particpate in, because stronger encryption is only used by "criminals" because after all, I "don't have anything to hide". None of these thing have yet come to pass, but they are all being worked on.
I did look at it, and it has nothing to do with technology. It has to do with a totalitarian government trying to oppress and control its citizens (or subjects).
Change to a totalitarian government using technology to oppress and control, and I will agree with you. This is the same thing that happened with the original Luddites. The people Jon Katz is calling Luddites above really aren't Luddites in my opinion.
the classic "Don't do it, then!" solution.
says that I shouldn't read books, write software, criticize behavior, view movies, have or private conversations. Yes I have changed the argument, sorry. Plus slashdot truncated part of my post for some reason. After the example link it should have contined
examples of where technology is/can/will be used to remove control over some aspect of my life, and give it to the government/society/corporate america. This is the techonology that will control me.
Well, there is a problem here. Do you think that the proper level of technology is to be decided by the society (==government) or by individuals? If by individuals, I have no problem. You don't like technology, I do.
I never said I don't like technology. I said that I should not be forced to use it. (By government or society or corporate america) See another comment to see some examplesHal Duston hald@sound.net
Do you know in how many way the
absence of technology can fail us? What about the famines? the plagues? manual back-breaking work?
I am not saying that technology is bad. I am saying that we as a society should evaluate new uses of technology more thoroughly before allowing ourselves to become dependent upon it. Perhaps I spend to much time reading The Risks DigestForum On Risks To The Public In Computers And Related Systems.
Color? But you have a black-and-white TV? So a color TV will control you, but a B/W TV will not?
I am working on it, I used to have a Color TV, but I have not yet convinced my wife to go without. I do know of people who "have to get home to catch...".
A man stands looking at a hammer in his hand. "Will I be able to control it? Or will it control me? Aaah, better not take the chance..."
I am only saying that we should ask the question. I see people with beepers, and cellphones, who can't leave them behind. They must also be within reach. I would posit that those people are not in control of their technology.
But I think that many of the Luddites were, as commonly characterized, afraid of change.
I too am afraid of change. I am afraid of change to a day when I can no longer read my book wherever and whenever and share it with whomever I choose. I am afraid of change to a day when I can no longer have a private email conversation without being branded a criminal. I am afraid of change to a day when I can no longer write software without hiring an attorney to keep from being sued. I am afraid of change to a day when I can no longer watch movies whenever it is convenient to me. I am afraid of change to a day when I can no longer criticize behavior that I believe is wrong in a public forum. I am afraid of change to a day when I can no longer control the flow of information about my own life. I am very much afraid of change.
And yet I am a software developer. A contradiction? I don't believe so. My fear is loss of control over my own life and my own destiny. I don't have to wonder how many ways that technology can fail us, I know how many ways technology and the dependence of society upon it can fail us. I develop software in order to continue to be sure that I remain "in the loop" on technology, and the changes that are comming in the future. I try to keep as much technology out of my home, so that I am not dependent on it. I don't have a cellular phone, I don't have
a color television. When I consider adding some new technology to my life I try to evaluate the impact. Will I become dependent on it? Will I control it? Or will it control me?
A system and method are provided for translating local IP addresses to globally unique IP addresses. This allows local hosts in an enterprise network to share global IP addresses from a limited pool of such addresses available to the enterprise. The translation is accomplished by replacing the source address in headers on packets destined for the Internet and by replacing destination address in headers on packets entering the local enterprise network from the Internet.
Packets arriving from the Internet are screened by an adaptive security algorithm. According to this algorithm, packets are dropped and logged unless they are deemed nonthreatening. DNS packets and certain types of ICMP packets are allowed to enter local network. In addition, FTP data packets are allowed to enter the local network, but only after it has been established that their destination on the local network initiated an FTP session.
A method for translating network addresses on packets destined for local hosts on a private network from hosts on an external network, the method comprising the following steps:
identifying a global IP destination address on an inbound packet arriving at the private network;
determining whether the global IP destination address corresponds to any local host on the private network by determining if a translation slot data structure exists for the global IP destination address, which translation slot associates the global IP destination address to a corresponding local IP address for a particular local host which has sent an outbound packet to an external network host on the external network within a defined time period;
if the inbound packet is found to be intended for the particular local host on the private network which has sent the outbound packet to the external network host within said defined time period, determining whether the inbound packet meets defined security criteria;
if the inbound packet meets said security criteria, replacing the inbound packet's global IP destination address with the corresponding local IP address for the particular local host to which the inbound packet was addressed; and
forwarding the inbound packet to the particular local host to which the inbound packet was addressed.
Emphasis mine. This sounds like NAT + firewall even in claim #1.
Is the serial number data copied by the linux driver? yes.
So you are saying that 000000001768443202 is copyrighted by Digital Convergence? Also 000000001768443203 and 000000001768443204, and...? *boggle* I don't think numbers that small can be copyrighted.
Hal Duston hald@sound.net If Al Gore invented the internet, why is it named after George W. Bush?
Of course the driver doesn't permit anyone to gain access to DC's copyrighted IP which is contained in the firmware, nor has anyone that I am aware of actually gained access to the copyrighted IP in the firmware, so this is mute.
The driver permits access to the numbers/letters which are usually already printed on the barcode (just in electronic form).
Hal Duston hald@sound.net If Al Gore invented the internet, why is it named after George W. Bush?
/************************************************* *****************************
*:Cue:Cat (tm) Reader decoding program. *
* Copyright (C) 2000 Hal Duston *
* *
* 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; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANT WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License at http://www.fsf.org/ for more details. *
* *
************************************************** ****************************/
#include <unistd.h>
According to http://www.trolltech.com/newsroom/investors.html
TrollTech is 5.8% owned by Canopy Group
Well, as for the one in Kansas, the world headquarters of AMC Theaters is less than 25 miles from the theater in Olathe, KS.
33MHZ is for 32bits which is 132 Megabytes/second. And 64bit PCI slots would be capable of 264 Megabytes/second.
I am unsure about the term "unconscionable", since the terms are more liberal than the default ones. I.e, the software cannot be used at all since loading it into memory violates the default rights you have under current copyright law, and I am not forcing anybody to accept my terms.
The other point I have missed is the following:
I have been a professional programmer for nearly 15 years. During that time I have been paid by various corporate entities to produce code for all this time. At no time was a single piece of code I produced ever sold (or given away). I would daresay that a large amount of that code is not even still in use, indeed much of what I produce is intended for only a single use (conversion type procedures). Yet the companies I worked for were more than content to pay my salary, and provide me with all the usual benefits.
How does your argument apply to software that is provided for internal corporate use? I could frequently end up writing the same application over and over for different companies, yet they continue to pay me. My employers have no expectation of ever realizing any direct revenue from my work at all. Not that anybody would ever be interested in such code, but the question remains.
The other interesting question that occurs is what would happen if the GPL were to be struck down? What if it were ruled unenforcable in it's entirety? What sort of remedy might the courts construct? Certainly the right of the licensee wouldn't revert to the default, since that is no right to use the code at all. What about if it would be found to be only partial unenforcable? I suppose that would depend on which part were to be found unenforcable.
Doh! I just realized this discussion is 24 hours old, but I'm posting anyway. *sigh*
Hal Duston
hald@sound.net
Or lack the cash to buy a newer than two year old machine. I put Netscape 6 on my wife's 32MB P-333 laptop. After loading two (2) pages in ten (10) minutes, off it came.
Hal Duston
hald@sound.net
RMS On 'Open' Motif on slashdot of all places.
With apologies to School House Rock.
ICANN connection, what's your function?
Hookin' up hubs and routers and switches
ICANN connection, how's that function?
I got three favorite domains
That get most of my job done
Conjunction junction what's their function?
I got com, net n' org, they get you pretty far
SPOKEN:(Com, that's commercial, like a business.
Net - well, that's sort of the connected.
Not group, BUT company. And then there's org, O-R-G.
When you got a group or an organization.
COM, NET, and ORG, they get you pretty far!)
ICANN connection, what's your function?
Hookin' up ISP's and making 'em run right
Buy and sell, sales and support, rise and fall,
Hey that's all
AOL but luser, DSL and broadband,
Losin' your money and a packet or two
He was older but wiser, sad but true!
Boo hoo, hoo hoo, hoo
ICANN connection, what's your function?
Hookin' up two ISP's to one
When you got something like this choice:
Multi-homed or single
Or no choice:
Neither DSL nor cable!
Hey that's terrible!
D/l this or that-, view J-peg or png-
I bet you now I'm too remote as it is!
ICANN connection, what's your function?
Hookin' up routers and switches that bridge like:
Out of the firewall and into the DDOS
He emailed the lug-list
but the spam wouldn't go any farther
(Yeah)
Let's go listen to Napster or
Down load the MP3
You should always say, "thank you"
Or at least say "please".
Conjunction junction what's your function?
Hookin' up words and phrases and clauses
In complex protocols like:
SPOKEN:(through the router, off the bridge,
past the firewall..... Nothing but Net
Where I often encounter a hack and a crack,
And I ask myself as I surf by
Just what they'd say if they could speak,
Although I know that that's an absurd thought.)
ICANN connection, what's your function?
Hookin' up hubs and routers and switches
ICANN connection, hows that function?
I like tyin' up ISP's and makin 'em run right
ICANN connection, what's your function?
I'm gonna get you if you're not very careful...
Yeah yeah, yeah yeah, yeah yeah
ICANN connection
ICANN connection
ICANN connection
ICANN connection
ICANN connection
ICANN connection
Ooh yeah
Hal Duston
hald@sound.net
Hal Duston
hald@sound.net
As far as spending the money on a tax-cut, that is a non-meaningful statement. A tax-cut would mean that the money was never collected, and could never, therefore, be spent. Where is that money now? I have not paid it. How can "letting me keep more of the money I earn" be called "spending".
As for the tax cut benefitting the wealthies 10 percent the most, almost any tax-cut is going to do that, unless it has a "cap". I would bet if the following tax-cut was implemented, the top 10 percent would still see the most benefit by dollar value
- top 10% - 10% tax-cut - pays over million, so saves $100,000
- 10-20% - 20% tax-cut - pays around $100,000, so saves $20,000
- 20-30% - 30% tax-cut - pays $10,000, so saves $3,000
- ...
- 70-80% - 80% tax-cut - pays $1,000, so saves $800
- 80-90% - 90% tax-cut - pays $100, so saves $90
- bottom 10% - 100% tax-cut - already pays nothing, so saves nothing
(All numbers made up)Hal Duston
hald@sound.net
Hal Duston
hald@sound.net
Hal Duston
hald@sound.net
Hal Duston
hald@sound.net
/**********************************************
*:CueCat(tm) Readerdecodingprogram. *
* Copyright(C)2000Hal Duston *
* *
* Thisprogramisfree software;youcanredistribute itand/ormodify *
* itunderthetermsof theGNUGeneralPublic Licenseaspublishedby *
*theFreeSoftware Foundation;eitherversion2 oftheLicense,or *
*(atyouroption) anylaterversion. *
* *
*This programisdistributedin thehopethatitwill beuseful, *
*butWITHOUTANY WARRANTY;withouteventhe impliedwarrantyof *
*MERCHANTABILITY orFITNESSFORA PARTICULARPURPOSE.Seethe *
* GNUGeneralPublicLicense at http://www.fsf.org/copyleft/gpl.html *
*formoredetails. *
* *
*:CueCat(tm)isa trademarkofDigital:Convergence Corporation. *
* *
*************************************************
#include<ctype.h>
#include <unistd.h>
intmain(int argc,char*arg[]);
staticssize_tdecode(char *outbuf,nbsp;constchar *inbuf);
intmain(intargc, char*arg[])
{
charinbuf[512];
charoutbuf[512];
ssize_tlen;
while((len= read(STDIN_FILENO,inbuf, sizeof(inbuf)))!=0)
{
inbuf[len]='\0';
len= decode(outbuf,inbuf);
outbuf[len++]= 7;/*Ringthebell. */
write(STDOUT_FILENO,outbuf,len);
}
_exit(0);
return0;
}
staticssize_tdecode(char *outbuf,constchar *inbuf)
{
staticint index_64[128]=
{
-1, -1,-1,-1,-1,-1, -1,-1,-1,-1,-1, -1,-1,-1,-1,-1,
-1, -1,-1,-1,-1,-1, -1,-1,-1,-1,-1, -1,-1,-1,-1,-1,
-1, -1,-1,-1,-1,-1, -1,-1,-1,-1, -1,62,62,63, -1,63,
52, 53,54,55,56,57,58, 59,60,61,-1, -1,-1,-1,-1, -1,
-1,0,1,2, 3,4,5, 6,7,8, 9,10,11,12,13,14,
15, 16,17,18,19,20,21, 22,23,24,25, -1,-1,-1,-1,-1,
-1, 26,27,28,29,30,31, 32,33,34,35,36, 37,38,39,40,
41,42, 43,44,45,46,47,48, 49,50,51,-1, -1,-1,-1,-1,
};
staticcharpad_64[4]= {0x10,0x34,0x0d,0x03 };
constchar *inptr=inbuf;
char*outptr=outbuf;
intch= *inptr++;
longn;
int i;
while(ch !='\0')
{
if(index_64[ch] <0)
{
*outptr++= ch;
ch=*inptr++;
}
else
{
n =0;
for(i=0;i <4;++i)
{
if(isalpha(ch)
{
ch^=0x20;
}
if(index_64[ch]<0)
{
n=n< <6|pad_64[i];/* Padshortruns.*/
}
else
{
n=n <<6|index_64[ch];
ch=*inptr++;
}
}
n^= 0x434343;/*XORwith "ccc".*/
*outptr++=(n >>16)?(n >>16):'\0';
*outptr++=(n>>8 &0xff)?(n> >8&0xff): '\0';
*outptr++=(n &0xff)?(n& 0xff):'\0';
}
}
returnoutptr -outbuf;
}
So, how does one post code to slashdot anyway?
Hal Duston
hald@sound.net
Hal Duston
hald@sound.net
Hal Duston
hald@sound.net
Hal Duston
hald@sound.net
hald@sound.net
Hal Duston
hald@sound.net
Hal Duston
hald@sound.net
Hal Duston
hald@sound.net
This sounds like NAT + firewall even in claim #1.
Hal Duston
hald@sound.net
*boggle* I don't think numbers that small can be copyrighted.
Hal Duston
hald@sound.net
If Al Gore invented the internet, why is it named after George W. Bush?
The driver permits access to the numbers/letters which are usually already printed on the barcode (just in electronic form).
Hal Duston
hald@sound.net
If Al Gore invented the internet, why is it named after George W. Bush?
/************************************************* *****************************
:Cue:Cat (tm) Reader decoding program. *
* ****************************/
/* Ring the bell. */
/* Ripped from mmencode. Used with permission. */
/* Copyright (c) 1991 Bell Communications Research, Inc. (Bellcore) */
/* Upper and lowercase are swapped from mmencode. */
/* Used as three byte integer. */
/* Pad short runs. */
/* XOR with "ccc". */
*
* Copyright (C) 2000 Hal Duston *
* *
* 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; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANT WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License at http://www.fsf.org/ for more details. *
* *
*************************************************
#include <unistd.h>
int main(int argc, char *arg[]);
static ssize_t decode(char *outbuf, const char *inbuf);
int main(int argc, char *arg[])
{
char inbuf[512];
char outbuf[512];
ssize_t len;
while((len = read(STDIN_FILENO, inbuf, sizeof(inbuf))) != 0)
{
inbuf[len] = '\0';
len = decode(outbuf, inbuf);
outbuf[len++] = 7;
write(STDOUT_FILENO, outbuf, len);
}
_exit(0);
return 0;
}
static ssize_t decode(char *outbuf, const char *inbuf)
{
static int index_64[128] =
{
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63
52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1
-1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1
-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1
};
static char pad_64[4] = { 0x10, 0x34, 0x0d, 0x03 };
const char *inptr = inbuf;
char *outptr = outbuf;
int ch = *inptr++;
long n;
int i;
while(ch != '\0')
{
if(index_64[ch] < 0)
{
*outptr++ = ch;
ch = *inptr++;
}
else
{
n = 0;
for(i = 0; i < 4; ++i)
{
if(index_64[ch] < 0)
{
n = n << 6 | pad_64[i];
}
else
{
n = n << 6 | index_64[ch];
ch = *inptr++;
}
}
n ^ = 0x434343;
*outptr++ = (n >> 16) ? (n >> 16) : '\0';
*outptr++ = (n >> 8 & 0xff) ? (n >> 8 & 0xff) : '\0';
*outptr++ = (n & 0xff) ? (n & 0xff) : '\0';
}
}
return outptr - outbuf;
}