summaryrefslogtreecommitdiffstats
path: root/xrdp/funcs.c
diff options
context:
space:
mode:
authorLaxmikant Rashinkar <LK.Rashinkar@gmail.com>2012-09-19 20:51:34 -0700
committerLaxmikant Rashinkar <LK.Rashinkar@gmail.com>2012-09-19 20:51:34 -0700
commit1123323fda6d128fb98b0427e0ea5f6a2dc9e632 (patch)
tree3407a3771a069f812554312ce7c36db625139cc2 /xrdp/funcs.c
parent3cedfae76a2351bc8b1e5bd2ee33bbf8630dbacf (diff)
downloadxrdp-proprietary-1123323fda6d128fb98b0427e0ea5f6a2dc9e632.tar.gz
xrdp-proprietary-1123323fda6d128fb98b0427e0ea5f6a2dc9e632.zip
o moved from GNU General Public License to Apache License, Version 2.0
o applied new coding standards to all .c files o moved some files around
Diffstat (limited to 'xrdp/funcs.c')
-rw-r--r--xrdp/funcs.c381
1 files changed, 205 insertions, 176 deletions
diff --git a/xrdp/funcs.c b/xrdp/funcs.c
index d30d5b90..82662fa9 100644
--- a/xrdp/funcs.c
+++ b/xrdp/funcs.c
@@ -1,240 +1,269 @@
-/*
- 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 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., 675 Mass Ave, Cambridge, MA 02139, USA.
-
- xrdp: A Remote Desktop Protocol server.
- Copyright (C) Jay Sorg 2004-2010
-
- simple functions
-
-*/
+/**
+ * xrdp: A Remote Desktop Protocol server.
+ *
+ * Copyright (C) Jay Sorg 2004-2012
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * simple functions
+ */
#include "xrdp.h"
/*****************************************************************************/
/* returns boolean */
int APP_CC
-rect_contains_pt(struct xrdp_rect* in, int x, int y)
+rect_contains_pt(struct xrdp_rect *in, int x, int y)
{
- if (x < in->left)
- {
- return 0;
- }
- if (y < in->top)
- {
- return 0;
- }
- if (x >= in->right)
- {
- return 0;
- }
- if (y >= in->bottom)
- {
- return 0;
- }
- return 1;
+ if (x < in->left)
+ {
+ return 0;
+ }
+
+ if (y < in->top)
+ {
+ return 0;
+ }
+
+ if (x >= in->right)
+ {
+ return 0;
+ }
+
+ if (y >= in->bottom)
+ {
+ return 0;
+ }
+
+ return 1;
}
/*****************************************************************************/
int APP_CC
-rect_intersect(struct xrdp_rect* in1, struct xrdp_rect* in2,
- struct xrdp_rect* out)
+rect_intersect(struct xrdp_rect *in1, struct xrdp_rect *in2,
+ struct xrdp_rect *out)
{
- int rv;
- struct xrdp_rect dumby;
-
- if (out == 0)
- {
- out = &dumby;
- }
- *out = *in1;
- if (in2->left > in1->left)
- {
- out->left = in2->left;
- }
- if (in2->top > in1->top)
- {
- out->top = in2->top;
- }
- if (in2->right < in1->right)
- {
- out->right = in2->right;
- }
- if (in2->bottom < in1->bottom)
- {
- out->bottom = in2->bottom;
- }
- rv = !ISRECTEMPTY(*out);
- if (!rv)
- {
- g_memset(out, 0, sizeof(struct xrdp_rect));
- }
- return rv;
+ int rv;
+ struct xrdp_rect dumby;
+
+ if (out == 0)
+ {
+ out = &dumby;
+ }
+
+ *out = *in1;
+
+ if (in2->left > in1->left)
+ {
+ out->left = in2->left;
+ }
+
+ if (in2->top > in1->top)
+ {
+ out->top = in2->top;
+ }
+
+ if (in2->right < in1->right)
+ {
+ out->right = in2->right;
+ }
+
+ if (in2->bottom < in1->bottom)
+ {
+ out->bottom = in2->bottom;
+ }
+
+ rv = !ISRECTEMPTY(*out);
+
+ if (!rv)
+ {
+ g_memset(out, 0, sizeof(struct xrdp_rect));
+ }
+
+ return rv;
}
/*****************************************************************************/
/* returns boolean */
int APP_CC
-rect_contained_by(struct xrdp_rect* in1, int left, int top,
+rect_contained_by(struct xrdp_rect *in1, int left, int top,
int right, int bottom)
{
- if (left < in1->left || top < in1->top ||
- right > in1->right || bottom > in1->bottom)
- {
- return 0;
- }
- else
- {
- return 1;
- }
+ if (left < in1->left || top < in1->top ||
+ right > in1->right || bottom > in1->bottom)
+ {
+ return 0;
+ }
+ else
+ {
+ return 1;
+ }
}
/*****************************************************************************/
/* adjust the bounds to fit in the bitmap */
/* return false if there is nothing to draw else return true */
int APP_CC
-check_bounds(struct xrdp_bitmap* b, int* x, int* y, int* cx, int* cy)
+check_bounds(struct xrdp_bitmap *b, int *x, int *y, int *cx, int *cy)
{
- if (*x >= b->width)
- {
- return 0;
- }
- if (*y >= b->height)
- {
- return 0;
- }
- if (*x < 0)
- {
- *cx += *x;
- *x = 0;
- }
- if (*y < 0)
- {
- *cy += *y;
- *y = 0;
- }
- if (*cx <= 0)
- {
- return 0;
- }
- if (*cy <= 0)
- {
- return 0;
- }
- if (*x + *cx > b->width)
- {
- *cx = b->width - *x;
- }
- if (*y + *cy > b->height)
- {
- *cy = b->height - *y;
- }
- return 1;
+ if (*x >= b->width)
+ {
+ return 0;
+ }
+
+ if (*y >= b->height)
+ {
+ return 0;
+ }
+
+ if (*x < 0)
+ {
+ *cx += *x;
+ *x = 0;
+ }
+
+ if (*y < 0)
+ {
+ *cy += *y;
+ *y = 0;
+ }
+
+ if (*cx <= 0)
+ {
+ return 0;
+ }
+
+ if (*cy <= 0)
+ {
+ return 0;
+ }
+
+ if (*x + *cx > b->width)
+ {
+ *cx = b->width - *x;
+ }
+
+ if (*y + *cy > b->height)
+ {
+ *cy = b->height - *y;
+ }
+
+ return 1;
}
/*****************************************************************************/
/* add a ch at index position in text, index starts at 0 */
/* if index = -1 add it to the end */
int APP_CC
-add_char_at(char* text, int text_size, twchar ch, int index)
+add_char_at(char *text, int text_size, twchar ch, int index)
{
- int len;
- int i;
- twchar* wstr;
-
- len = g_mbstowcs(0, text, 0);
- wstr = (twchar*)g_malloc((len + 16) * sizeof(twchar), 0);
- g_mbstowcs(wstr, text, len + 1);
- if ((index >= len) || (index < 0))
- {
- wstr[len] = ch;
+ int len;
+ int i;
+ twchar *wstr;
+
+ len = g_mbstowcs(0, text, 0);
+ wstr = (twchar *)g_malloc((len + 16) * sizeof(twchar), 0);
+ g_mbstowcs(wstr, text, len + 1);
+
+ if ((index >= len) || (index < 0))
+ {
+ wstr[len] = ch;
+ wstr[len + 1] = 0;
+ g_wcstombs(text, wstr, text_size);
+ g_free(wstr);
+ return 0;
+ }
+
+ for (i = (len - 1); i >= index; i--)
+ {
+ wstr[i + 1] = wstr[i];
+ }
+
+ wstr[i + 1] = ch;
wstr[len + 1] = 0;
g_wcstombs(text, wstr, text_size);
g_free(wstr);
return 0;
- }
- for (i = (len - 1); i >= index; i--)
- {
- wstr[i + 1] = wstr[i];
- }
- wstr[i + 1] = ch;
- wstr[len + 1] = 0;
- g_wcstombs(text, wstr, text_size);
- g_free(wstr);
- return 0;
}
/*****************************************************************************/
/* remove a ch at index position in text, index starts at 0 */
/* if index = -1 remove it from the end */
int APP_CC
-remove_char_at(char* text, int text_size, int index)
+remove_char_at(char *text, int text_size, int index)
{
- int len;
- int i;
- twchar* wstr;
+ int len;
+ int i;
+ twchar *wstr;
+
+ len = g_mbstowcs(0, text, 0);
+
+ if (len <= 0)
+ {
+ return 0;
+ }
+
+ wstr = (twchar *)g_malloc((len + 16) * sizeof(twchar), 0);
+ g_mbstowcs(wstr, text, len + 1);
+
+ if ((index >= (len - 1)) || (index < 0))
+ {
+ wstr[len - 1] = 0;
+ g_wcstombs(text, wstr, text_size);
+ g_free(wstr);
+ return 0;
+ }
+
+ for (i = index; i < (len - 1); i++)
+ {
+ wstr[i] = wstr[i + 1];
+ }
- len = g_mbstowcs(0, text, 0);
- if (len <= 0)
- {
- return 0;
- }
- wstr = (twchar*)g_malloc((len + 16) * sizeof(twchar), 0);
- g_mbstowcs(wstr, text, len + 1);
- if ((index >= (len - 1)) || (index < 0))
- {
wstr[len - 1] = 0;
g_wcstombs(text, wstr, text_size);
g_free(wstr);
return 0;
- }
- for (i = index; i < (len - 1); i++)
- {
- wstr[i] = wstr[i + 1];
- }
- wstr[len - 1] = 0;
- g_wcstombs(text, wstr, text_size);
- g_free(wstr);
- return 0;
}
/*****************************************************************************/
int APP_CC
-set_string(char** in_str, const char* in)
+set_string(char **in_str, const char *in)
{
- if (in_str == 0)
- {
+ if (in_str == 0)
+ {
+ return 0;
+ }
+
+ g_free(*in_str);
+ *in_str = g_strdup(in);
return 0;
- }
- g_free(*in_str);
- *in_str = g_strdup(in);
- return 0;
}
/*****************************************************************************/
int APP_CC
-wchar_repeat(twchar* dest, int dest_size_in_wchars, twchar ch, int repeat)
+wchar_repeat(twchar *dest, int dest_size_in_wchars, twchar ch, int repeat)
{
- int index;
+ int index;
- for (index = 0; index < repeat; index++)
- {
- if (index >= dest_size_in_wchars)
+ for (index = 0; index < repeat; index++)
{
- break;
+ if (index >= dest_size_in_wchars)
+ {
+ break;
+ }
+
+ dest[index] = ch;
}
- dest[index] = ch;
- }
- return 0;
+
+ return 0;
}