Mercurial > pidgin.yaz
comparison libpurple/protocols/msn/slpmsg.c @ 16536:1c07ce257fd7
Fix the g_return_if_fail() guards that prevent setting more than one data
source. We want the data sources to be NULL, because the one we're setting
needs to be the only one set.
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Fri, 27 Apr 2007 18:56:41 +0000 |
parents | 4fc51a87ce42 |
children | 44b4e8bd759b |
comparison
equal
deleted
inserted
replaced
16535:1d3d54e964ce | 16536:1c07ce257fd7 |
---|---|
104 void | 104 void |
105 msn_slpmsg_set_body(MsnSlpMessage *slpmsg, const char *body, | 105 msn_slpmsg_set_body(MsnSlpMessage *slpmsg, const char *body, |
106 long long size) | 106 long long size) |
107 { | 107 { |
108 /* We can only have one data source at a time. */ | 108 /* We can only have one data source at a time. */ |
109 g_return_if_fail(slpmsg->buffer); | 109 g_return_if_fail(slpmsg->buffer == NULL); |
110 g_return_if_fail(slpmsg->img); | 110 g_return_if_fail(slpmsg->img == NULL); |
111 g_return_if_fail(slpmsg->fp); | 111 g_return_if_fail(slpmsg->fp == NULL); |
112 | 112 |
113 if (body != NULL) | 113 if (body != NULL) |
114 slpmsg->buffer = g_memdup(body, size); | 114 slpmsg->buffer = g_memdup(body, size); |
115 else | 115 else |
116 slpmsg->buffer = g_new0(guchar, size); | 116 slpmsg->buffer = g_new0(guchar, size); |
120 | 120 |
121 void | 121 void |
122 msn_slpmsg_set_image(MsnSlpMessage *slpmsg, PurpleStoredImage *img) | 122 msn_slpmsg_set_image(MsnSlpMessage *slpmsg, PurpleStoredImage *img) |
123 { | 123 { |
124 /* We can only have one data source at a time. */ | 124 /* We can only have one data source at a time. */ |
125 g_return_if_fail(slpmsg->buffer); | 125 g_return_if_fail(slpmsg->buffer == NULL); |
126 g_return_if_fail(slpmsg->img); | 126 g_return_if_fail(slpmsg->img == NULL); |
127 g_return_if_fail(slpmsg->fp); | 127 g_return_if_fail(slpmsg->fp == NULL); |
128 | 128 |
129 slpmsg->img = purple_imgstore_ref(img); | 129 slpmsg->img = purple_imgstore_ref(img); |
130 slpmsg->buffer = (guchar *)purple_imgstore_get_data(img); | 130 slpmsg->buffer = (guchar *)purple_imgstore_get_data(img); |
131 slpmsg->size = purple_imgstore_get_size(img); | 131 slpmsg->size = purple_imgstore_get_size(img); |
132 } | 132 } |
135 msn_slpmsg_open_file(MsnSlpMessage *slpmsg, const char *file_name) | 135 msn_slpmsg_open_file(MsnSlpMessage *slpmsg, const char *file_name) |
136 { | 136 { |
137 struct stat st; | 137 struct stat st; |
138 | 138 |
139 /* We can only have one data source at a time. */ | 139 /* We can only have one data source at a time. */ |
140 g_return_if_fail(slpmsg->buffer); | 140 g_return_if_fail(slpmsg->buffer == NULL); |
141 g_return_if_fail(slpmsg->img); | 141 g_return_if_fail(slpmsg->img == NULL); |
142 g_return_if_fail(slpmsg->fp); | 142 g_return_if_fail(slpmsg->fp == NULL); |
143 | 143 |
144 slpmsg->fp = g_fopen(file_name, "rb"); | 144 slpmsg->fp = g_fopen(file_name, "rb"); |
145 | 145 |
146 if (g_stat(file_name, &st) == 0) | 146 if (g_stat(file_name, &st) == 0) |
147 slpmsg->size = st.st_size; | 147 slpmsg->size = st.st_size; |